自宅サーバー構築
使用機器
Raspberry Pi 3B
使用OS
Raspberry Pi OS (64bit)

ドメイン取得

ドメイン名取得(f5.si)※無料—-frc.f5.si ,ffc.f5.si

1 SDカードOS書き込み (imager使用)
ダウンロード https://www.raspberrypi.com/software/
RaspberyPi DEVICE(RaspberryPi3)–選択
RaspberyPi os(other)–(64-bit)– 選択
CHOOSE STORAGE—セットしたSDカード
書き込み時間15分ほど

2 Raspberry Pi へセット
1–国,言語,時間
2—名前,パスワード
3—有線接続時はWiFiはキャンセル
4—アップデート(20分ほど)
5–リスタート後,画面表示
(fcitx-mozc, ssh, perl,はインストール済)
コマンド操作–LXTerminl使用(上のバー4個の右,黒)
($の時sudoから記入、$から#へ su – )

3 vimエディター(vi)
sudo apt-get -y install vim
コマンド
(行番号表示 :set number)
(インサート i )
(インサート解除 esc )
(書き込み終了 :wq ) (: を忘れずに)
(そのまま終了 :q )

4 IPアドレス固定へ(auルーターの場合)
固定IPアドレス—-192.168.0.120
IPアドレス確認
sudo ip a
(ネットワーク設定参照)

5 ルートユーザーの利用
sudo passwd root
パスワード …

6 sshサーバー ( 遠隔操作端末 Trra Term で使用)
(Osセットアップ時インストール済)
#Port 22 の #を外し有効にする
sudo vi /etc/ssh/sshd_config
sudo /etc/init.d/ssh restart (ssh再起動)
sudo systemctl enable ssh (起動時にssh起動)
sudo systemctl restart ssh

7 ftpサーバー(FileZilla等のソフト遠隔操作端末で使用)
sudo apt-get -y install vsftpd
sudo vi /etc/vsftpd.conf
31行目 : コメント解除,書き込み許可
write_enable=YES
122, 123行目 : コメント解除して chroot 有効化
chroot_local_user=YES
chroot_list_enable=YES
chroot ディレクトリ配下の書き込み許可設定を追記
allow_writeable_chroot=YES
125行目 : コメント解除,chrootリスト指定
chroot_list_file=/etc/vsftpd.chroot_list
131行目 : コメント解除,ディレクトリごと一括での転送有効
ls_recurse_enable=YES
最終行へ追記 : chroot のルートディレクトリ指定
local_root=/var/www/html
指定しない場合はユーザーのホームディレクトリがルートディレクトリとなる
public_html を指定した場合 且つ 当該ディレクトリがないとログインできないので注意

上の階層へ移動を許可するユーザーを 1 行ずつ記載
sudo vi /etc/vsftpd.chroot_list
frc
ffc
sudo systemctl restart vsftpd

遠隔操作端末(windows等)にTrra Term、FileZilla、ソフトをインストール。

8 webサーバー   (ホームページ作成のため)

sudo apt-get -y install apache2
sudo systemctl daemon-reload
sudo chmod 777 /var/www/html (パーミッション)

外部からテスト(http://www.cman.jp/network/support/port.html)—自分のグローバルIPアドレスとOK確認。 (グローバルアドレスで)

sudo systemctl status apache2.service
(確認– activ (running) となっていればok)

名前解決にDNSサーバーが未構築のため,使用するwindowsパソコンのhosts編集。
使用するwindowsパソコンのメモ帳を(右クリック)管理者として以下を実行。

ローカルディスク(C)—Windows—System32—Drivers—etc—hosts(すべてのファイル選択で表示)—開く
下記追加保存
192.168.0.120 frc.f5.si
192.168.0.120 ffc.f5.si

下記いずれかでデフォルトページ(Apache2 Debian Default Page)確認。
http://192.168.0.120
http://グローバルアドレス
hosts編集した端末からhttp://frc.f5.siかhttp://ffc.f5.si

8-1 バーチャルホスト
バーチャルホスト用フォルダ作成
sudo mkdir /var/www/html/frc (frc.f5.siのホームディレクトリ)
sudo chmod 777 /var/www/html/frc (パーミッション)
sudo mkdir /var/www/html/ffc (ffc.f5.siのホームディレクトリ)
sudo chmod 777 /var/www/html/ffc (パーミッション)
sudo service apache2 restart
sudo systemctl restart apache2

テスト用ページ作成
————————————————————————————————–
<html>
<body>
<div style=”width: 100%; font-size: 40px; font-weight: bold; text-align: center;”>
Virtual Host Test Page
frc.f5.si
</div>
</body>
</html>
————————————————————————————————-
上記をテキストエディタTeraPadで作成(ファイル名index.html)しFileZilla FTP Clientからドキュメントフォルダ/var/www/html/frcへアップロード
上記frc.f5.siをffc.f5.siに書き換え/var/www/html/ffcへアップロード。

8-2 バーチャルホストのドメイン設定(ファイル名virtual.host.confにした)

sudo vi /etc/apache2/sites-available/virtual.host.conf  (新規ファイル)

インサートモード(キーボードのi,一番下に黄色で挿入と出る)にし下記スクリプトをコピペ。 (インサートモードのコピペは編集の貼り付けを使用)

<VirtualHost *:80>
DocumentRoot /var/www/html/frc
ServerName frc.f5.si
ServerAdmin frc@f5.si
ErrorLog /var/log/apache2/frc.f5.si.error.log
CustomLog /var/log/apache2/frc.f5.si.access.log combined
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /var/www/html/ffc
ServerName ffc.f5.si
ServerAdmin ffc@f5.si
ErrorLog /var/log/apache2/ffc.f5.si.error.log
CustomLog /var/log/apache2/ffc.f5.si.access.log combined
</VirtualHost>

ESC(インサートモード解除,一番下の黄色の挿入が消える)

:wq(書き込み終了)

sudo a2dissite 000-default (000-default.conf停止)
sudo a2ensite virtual.host (virtual.host.conf開始)
sudo systemctl reload apache2 (apache2に変更を加えたので再読み込み)
sudo service apache2 restart (apache2の再起動)
sudo systemctl status apache2.service (apache2の動作状態)
(確認– activ (running) となっていればok)

http://frc.f5.siとhttp://ffc.f5.siでテストページ確認。

(virtual.host.conf等新ファイル作成の場合、a2ensite virtual.hostで有効)
(a2dissite virtual.hostで無効  a2en–有効 a2dis–無効)

9 php(8.2)
sudo apt-get -y install php php-cgi libapache2-mod-php php-common php-pear php-mbstring
sudo vi /etc/php/8.2/apache2/php.ini
962行目あたりのコメント解除タイムゾーン設定
date.timezone = “Asia/Tokyo”

esc(インサートモード解除,一番下の黄色の挿入が消える)
:wq(書き込み終了)

sudo systemctl reload apache2
sudo systemctl restart apache2

テストページ作成
sudo echo ‘<?php phpinfo(); ?>’ > /var/www/html/frc/info.php
(任意のクライアントコンピューターから Web ブラウザーでテストページにアクセスして、正常にページが表示されればOK。http://frc.f5.si/info.php)

10 MariaDB(mysqlの改良版)データベース
sudo apt-get -y install mariadb-server
sudo mysql_secure_installation
(全てYesでOK,途中パスワード入力有)
sudo mysql -u root -p
MariaDB[(none)]> select user,host,plugin from mysql.user;
MariaDB[(none)]> show variables like “chara%”;
MariaDB[(none)]> show databases;
MariaDB [(none)]> select version();   (バージョンチェック)
MariaDB[(none)]> exit
sudo mariadb –version (クライアントのバージョン)
(インストールしたバージョンと同じであれば正しくインストールできています)

11 phpMyAdmin インストール(データーベースを操作するツール)
sudo apt -y install phpmyadmin
(スペースで選択, Tabで決定,enterかスペースで実行)
(phpMyAdmin を使用する Webサーバーソフトウェアを選択)
[Yes]
phpmyadmin ユーザー用の MariaDB (パスワードを設定)
[Yes]
[はい]
sudo systemctl reload apache2

クライアント端末操作
http://frc.f5.si/phpmyadmin/かhttp://ffc.f5.si/phpmyadminで
(ユーザー名 root パスワード … )
データベースへユーザー登録(frc,ffc)
ユーザー名 1 frc
項目全てチェックし実行終了したら
ユーザー名 2 ffc
項目全てチェックし実行終了したら

12 自動更新

cronの設定ファイルを開きます
crontab -e

下記を最後に追記します。
0-59 * * * * wget -O DDNSNow_update.log “https://f5.si/update.php?domain=frc&password=パスワード”

13 wordpress
(ダウンロードサイト)

(解凍し,FileZillaで /var/www/html/frc へアップロード, パーミッション(右クリック)を全て777へ)
(データベースへphpmyadminでrootログイン, ユーザー登録,項目全てチェック)
(以降wordpressマニュアル参照)

13-1 アップロード上限サイズ変更,300Mへ変更の場合
sudo vi /etc/php/8.2/apache2/php.ini
(694行目 post_max_size = 300M (デフォルト8M))
(846行目 upload_max_filesize = 300M (デフォルト2M)
(849行目 max_file_upload = 300 (デフォルト20ファイル)

13-2 wordpress更新

操作を実行するためには、
ホスト名、ユーザー名、パスワード、接続形式
の接続情報が必要です。
この手の問題を解決する一般的な方法は、
wp-config.php内に、
接続確認をバイパスするコードを加える方法。

define(‘FS_METHOD’,’direct’);

もしくは、

define( ‘ALLOW_UNFILTERED_UPLOADS’, true );

WordPressの構成ファイルを確認してwp-config.php内を編集。

リセット関係
sytemctl daemon reload
sytemctl restart apache2
sytemctl restart ssh
sytemctl restart cron

(Apt-getでインストールしたアプリをファイルごと削除)
sudo apt-get purge インストールしたアプリ

その他
外部からのポートチェック
http://www.cman.jp/network/support/port.html
ipアドレス確認
https://www.ugtop.com/spill.shtml
Website Test
https://www.websitepulse.com/t