自宅サーバー構築 (wordpressで趣味のクラブホームページ作成のため2024.12.20構築)
使用機器
Raspberry Pi 3B
使用OS
Raspberry Pi OS (64bit)
ドメイン取得
ドメイン名取得(f5,si)※無料—-frc.f5.si (福島ラジコンクラブ)
ドメイン名取得(f5,si)※無料—-ffc.f5.si (福島ファンフライクラブ)
ホームページ—-wordpress
webサーバー—-apache2
FTPクライアントソフト—–FileZilla
https://filezilla-project.org/download.php?type=client
ターミナルエミュレーター—–Tera Term
https://forest.watch.impress.co.jp/library/software/utf8teraterm/
Tera Termのコーディング(UTF-8)とラズパイの文字セット(日本語にするとEUC-JP)となり合わないと文字化けするので合わせること(ラズパイ側でUTF-8にする)
1 SDカードOS書き込み (SDカード読み取り機能付きのwindows端末からimager使用)
Raspberry Pi os ダウンロード
https://www.raspberrypi.com/software/
CHOOSE OSは
RaspberyPi os(other)– 選択
RaspberyPi os(64-bit)– 選択
CHOOSE STORAGE—セットしたSDカード
2 SDカードを Raspberry Piへセット
英語から日本語にする
画面左側下から3つ上Preferencesクリック
Raspberry Pi Configuration から
1–国,言語,時間,名前,パスワード等
2–interfaces SSH–ON
(fcitx-mozc, ssh, perl,はインストール済)
ログアウト(左側一番下)クリック—Rebootクリック
日本語にすると文字セットがEUC-JPとなるためUTF-8にする
Raspberry Piの設定クリック
右端ローカライゼーションのロケールの設定
文字セット—–UTF-8へ
現在のIPアドレスを確認する。(DHCPのアドレス?.?.?.?)
コマンドライン端末(Raspberry Pi画面の上左から4つ目LXTerminlをクリック)から現在のIPアドレス確認は—–ip a
(メイン・メニュー(上のバー)の右にある二つの矢印アイコンの上にマウスを持っていき現在のIPアドレスを確認メモし現在のIPアドレス宛に
コマンドライン端末からping飛ばし通ること)— ping ?.?.?.?
以上でLinuxパソコンとして使用可能(かなり速度遅い)
3 IPアドレス固定へ
ルーター設定
使用ルーター —-auの場合
固定IPアドレス—-192.168.0.120とした
詳細設定—-静的NAT設定—-Webサーバを外部に公開するにチェック—-WebサーバのIPアドレスに192.168.0.120記入—-設定
ラズペリーパイOS設定
GUIで設定の場合
二つの矢印のアイコンをマウスでクリック。
高度なオプション—接続を編集—Ethernet 有効接続1—IPV4設定—Method DHCPを手動
必要な項目を手動で入力。
IPv4Address—192.168.0.120
Router—192.168.0.1
DNS Severs—192.168.0.1
入れ終わったら。
Automatically configure empty option のチェックを外し。
Apply、Closeを順に押す。
wlan0はoffにする。
再起動。
現在のIPアドレスを確認する(192.168.0.120)
ルーターからping 192.168.0.120 通ることを確認。
以降サーバー構築
以下ラズペリーパイから,このページを表示させLXTerminlでsudoからコピペして行けば素人でもサーバーとしてうごくはず。
自分のドメイン名で設定のこと。
テキストエディタ作業
LXTerminl使用(上のバー左から4つ目,黒)
$の時sudoから記入
$から#へ su – (sudo省略出来る)
3-1 vimエディター
sudo apt-get -y install vim
(Viエディタはインストール済)
viコマンド
(行番号表示 :set number) (:を忘れずに)
(インサート i )
(escで解除)
(書き込み終了 :wq )
(そのまま終了 :q )
インサートのコピペは編集の貼り付けを使用
上記はwindowsパソコンのTera Termから遠隔操作可能
ルートユーザーの利用
sudo passwd root
パスワード ……入力 (文字表示しない)
更新
sudo apt update
sudo apt upgrade
4 ftpサーバー (FileZilla Client等で使用)
sudo apt-get -y install vsftpd
sudo vi /etc/vsftpd.conf
:set number (行番号表示)
i (インサートモード)
コメント解除(頭の#削除)
(31行目 : コメント解除,書き込み許可)
write_enable=YES
(122, 123行目 : コメント解除して chroot 有効化)
chroot_local_user=YES
chroot_list_enable=YES
(chroot ディレクトリ配下の書き込み許可設定を追記)
allow_writeable_chroot=YES
(125行目 上記追加の場合126行目: コメント解除,chrootリスト指定)
chroot_list_file=/etc/vsftpd.chroot_list
(131行目 上記追加の場合132行目: コメント解除,ディレクトリごと一括での転送有効)
ls_recurse_enable=YES
(最終行へ追記 : chroot のルートディレクトリ指定)
local_root=/var/www/html
ESCを押し
:wq (書き込み終了)
以下Viエディタ操作同じ
(上の階層へ移動を許可するユーザーを 1 行ずつ記載)
sudo vi /etc/vsftpd.chroot_list
ito
frc
ffc
(指定しない場合はユーザーのホームディレクトリがルートディレクトリとなる)
(public_html を指定した場合 且つ 当該ディレクトリがないとログインできないので注意)
sudo systemctl restart vsftpd
画面ログアウト–reboot
5 webサーバー
sudo apt-get -y install apache2
sudo systemctl daemon-reload
sudo chmod 777 /var/www/html (パーミッションを777へ)
外部からテスト(http://www.cman.jp/network/support/port.html)—逆引き正引きで自分のグローバルIPアドレスとOK確認
DNSサーバーが未作成のため,使用するwindowsパソコンにはhostsに192.168.0.120 frc.f5.si等 追加。
使用するwindowsパソコンのメモ帳を(右クリック)管理者として以下を実行
ローカルディスク(C)—Windows—System32—Drivers—etc—hosts(すべてのファイル選択で表示)—開く
192.168.0.120 frc.f5.si
192.168.0.120 ffc.f5.si
追加保存
http://192.168.0.120
http://グローバルアドレス (https://www.ugtop.com/spill.shtmlで確認)
hosts編集した端末からhttp://frc.f5.si又は http://ffc.f5.si
いずれかでApache2 デフォルトページ確認。
5-1バーチャルホスト用フォルダ作成
sudo mkdir /var/www/html/frc (frc.f5.siのホームディレクトリ)
sudo chmod 777 /var/www/html/frc (パーミッションを777へ)
sudo mkdir /var/www/html/ffc (ffc.f5.siのホームディレクトリ)
sudo chmod 777 /var/www/html/ffc (パーミッションを777へ)
5-2 バーチャルホストのドメイン設定(ファイル名virtual.host.confにした)
sudo vi /etc/apache2/sites-available/virtual.host.conf
スクリプト
—————————————-
<VirtualHost *:80>
DocumentRoot /var/www/html/frc
ServerName frc.f5.si
ServerAdmin ito@asahinet.jp
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 ito@asahinet.jp
ErrorLog /var/log/apache2/ffc.f5.si.error.log
CustomLog /var/log/apache2/ffc.f5.si.access.log combined
</VirtualHost>
——————————————
上記ファイル作成
sudo a2dissite 000-default (000-default.conf停止)
sudo a2ensite virtual.host (virtual.host.conf開始)
sudo systemctl reload apache2
sudo service apache2 restart
sudo systemctl restart apache2
sudo systemctl status apache2.service (確認– activ (running) となっていればok)
(virtual.host.conf等新ファイル作成の場合、a2ensite virtual.hostで開始)
(a2dissite virtual.hostで停止 a2en–有効 a2dis–無効)
テスト用ページ作成
————————————–
<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(ftpサーバー無い場合,プロトコル(T):SFTP-SSH FileTransfea Protocol選択)から/var/www/html/frcへアップロード
上記frc.f5.siをffc.f5.siにし/var/www/html/ffcへアップロード
テストページ確認
http://frc.f5.si , http://ffc.f5.si
6 php
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 (979行目コメント解除タイムゾーン設定) (2024.12.20現在バージョン 8.2)
date.timezone = “Asia/Tokyo”
sudo systemctl reload apache2
sudo systemctl restart apache2
テストページ作成
sudo echo ‘<?php phpinfo(); ?>’ > /var/www/html/frc/info.php (<?php phpinfo()の部分コピペ出来ないのでテキスト形式のコピペか手入力)
http://frc.f5.si/info.php
(使用するwindowsパソコンのWebブラウザーでテストページにアクセスして、正常にページが表示されれば OK。)
7 MariaDB(mysqlの改良版)データベース
sudo apt-get -y install mariadb-server
sudo mysql_secure_installation (全てyes や パスワード入力)
sudo mysql -u root -p
MariaDB[(none)]> select user,host,plugin from mysql.user;
MariaDB[(none)]> show databases;
MariaDB [(none)]> select version(); (バージョンチェック)
MariaDB[(none)]> exit
sudo mariadb –version (クライアントのバージョン)
(インストールしたバージョンと同じであれば正しくインストールできています)
8 phpMyAdmin
sudo apt -y install phpmyadmin
(スペースで選択, Tabで決定,enterかスペースで実行)
(phpMyAdmin を使用する Webサーバーソフトウェアを選択以下全て[Yes]でOK)
phpmyadmin ユーザー用の MariaDB パスワードを設定)
[Yes]
[はい]
sudo systemctl reload apache2
クライアント端末より操作
http://frc.f5.si/phpmyadmin/
(ユーザー名 root パスワード … )
データベースへユーザー登録(frc,ffc)
項目全てチェック
9 自動更新
sudo crontab -e
2のvim選択
(以下の2行を追加して保存)
*/10 * * * * wget -O DDNSNow_update.log “https://f5.si/update.php?domain=frc&password=パスワード
*/10 * * * * wget -O DDNSNow_update.log “https://f5.si/update.php?domain=ffc&password=パスワード
sudo systemctl start cron
(sudo systemtl restart cron)
動作確認
systemctl status cron
10 wordpress
(ダウンロードサイト)
サポートフォーラム
以降wordpress参照
10-1アップロード上限サイズ変更,100Mへ変更の場合
sudo vi /etc/php/8.2/apache2/php.ini
(694行目 post_max_size = 100M (デフォルト8M))
(846行目 upload_max_filesize = 100M (デフォルト2M)
(849行目 max_file_upload = 100 (デフォルト20ファイル)
以上
Apt-getでインストールしたアプリをファイルごと削除する場合
sudo apt-get purge インストールしたアプリ
11 リセット関係
sudo systemctl daemon reload
sudo systemctl restart apache2
sudo sudosystemctl restart ssh
sudo systemctl restart cron
12その他
外部からのポートチェック
http://www.cman.jp/network/support/port.html
ipアドレス確認
https://www.ugtop.com/spill.shtml
Website Test
https://www.websitepulse.com/tools/website-test