小型ボードコンピュータでSOHOスタート

Raspiサーバー Apache+PHP+MySQL

article of LAMP
Rasbian インストール

インストールにmicroSDカードを用意します。32GB以上の大容量もありますが、正規品かどうか確かなものを選びます。

バックアップやルートファイルSSD(HDD)化へカスタマイズするために初期段階では16GB程度が都合が良さそうです。

インストール、設定後はオリジナル版として保存しておきます。

インストールに便利なソフトウェア
  • Raspberry Pi Imager https://www.raspberrypi.org/software/
  • SDメモリーカードフォーマッター https://www.sdcard.org/ja/downloads-2/formatter-2/
インストールと初期設定
  1. Imagerを起動しOperatingSystemを選択します。Pi OS Lite(32bit)0.4GBを選択しました。
  2. SD(マイクロ)に書き込みが終了したら、一度PCから取り外し再度ドライブとしてPCに接続します。
  3. ルートにsshファイルを配置します。
SSHで接続
  1. 電源を入れSSHで接続します。SSH Tera Term
  2. IPアドレスが不明な場合はAdvanced IP Scnner等でローカルを検索します。
  3. 接続出来たらRaspi-configで地域、言語設定等を設定
  4. $ apt-get update そして $ apt-get upgrade
vsftpd FTPサーバーをインストール
(しておくと後々設定が楽です。)
  1. $ apt-get install vsftpd
  2. /etc/ftpusers rootを#コメントアウト
  3. vsftpd.conf 
  4. anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    use_localtime=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    secure_chroot_dir=/var/run/vsftpd/empty
    pam_service_name=vsftpd
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    ssl_enable=NO
    utf8_filesystem=YES
    
  5. $ service vsftpd restart
Apache2 インストール
  1. $ apt-get -y install apache2
  2. $ a2enmod rewrite ※rewriteモードをON
  3. /etc/apache2/sites-available/000-default.conf
    
    DocumentRoot /var/www/html/
    
    <Directory /var/www/html/>
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
    </Directory>
    
  4. $ service apache2 restart
PHP5.6 MySQL(mariadb)インストール
  1. PHP5要件のアプリケーションのために5.6を入れます。
  2. $ wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
    echo "deb https://packages.sury.org/php/ buster main" | sudo tee /etc/apt/sources.list.d/php.list
    $ apt-get update
    
    $ apt-get install php5.6 php5.6-curl php5.6-cli php5.6-pdo php5.6-mysql
    
    $ a2enmod php5.6
    $ apachectl restart
    $ update-alternatives --set php /usr/bin/php5.6
    
  3. $ service apache2 restart
  4. $ apt-get -y install mariadb-server
  5. $ apt-get -y install phpmyadmin php5.6-mbstring php-gettext
  6. $ ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load
  7. /etc/php/5.6/apache2/php.ini
    mbstring.language = Japanese
    mbstring.internal_encoding = UTF-8
    mbstring.http_input = pass
    mbstring.http_output = pass
    mbstring.encoding_translation = Off
    mbstring.detect_order = auto
    mbstring.substitute_character = none;
    mbstring.func_overload = 0
    mbstring.strict_detection = Off
    mbstring.http_output_conv_mimetype=
    
    fqdn.conf にServernameを設定
    
    $ cd /etc/apache2/conf-available/
    $ touch fqdn.conf
    $ vi fqdn.conf
     ServerName Rapberrypi
    $ a2enconf fqdn
    $ service apache2 restart
    
USBハードディスク接続と ownCloudインストール
HDD パーテーション作成(手順の概要を紹介します)
            
mklabel gpt 

mkpart primary ext4 0% 100%


データをコピー (dd)

sudo dd if=/dev/mmcblk0p2 of=/dev/sda1 bs=32M conv=noerror,sync status=progress

e2fsckでファイルシステムをチェック
sudo e2fsck -f /dev/sda1

resize2fsでパーティションを拡張
sudo resize2fs /dev/sda1

ls -l /dev/disk/by-partuuid/

sudo mount -t ext4 -o defaults /dev/sda1 /mnt
lrwxrwxrwx 1 root root 15  5月 25 09:49 030e4e18-01 -> ../../mmcblk0p1
lrwxrwxrwx 1 root root 10  5月 25 09:50 92bfce87-7669-4be0-91d8-b39841545549 -> ../../sda1

/etc/fstab
proc            /proc           proc    defaults          0       0
PARTUUID=927624cb-01  /boot           vfat    defaults          0       2
PARTUUID=927624cb-02  /               ext4    defaults,noatime  0       1
#   use  dphys-swapfile swap[on|off]  for that

新しいSDカードをFAT32でフォーマットして、Raspberry PiのSDカードのbootパーティションに入っていたファイルをコピー

/boot/cmdline.txt

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=92bfce87-7669-4be0-91d8-b39841545549 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

USBのPARTUUIDに書き換え


マイクロSDカードのboot部分をコピーして オリジナルのSDカードは緊急時のために保存しておきます。
コピーして作成したboot用マイクロSDカード、USBハードディスクを接続して起動します。


  1. HDD作成後PHP5.6で動作可能な9.1.8をダウンロードしてインストールしました。
  2. ownCloud desktopをWindowsPCにインストールします

    同期したいPCの資料フォルダーをRaspi_Serverと同期設定してバックアップ

    上記HDDは1TBを使用しました。又 cloneマシーンでHDDを丸ごとcloneして保存しています。