====== 管理サーバーコンテナの作成 ======
===== コンテナの作成 =====
ベースイメージから、Nginx用クローンイメージの作成
# machinectl clone raspbian-buster-base pi-home-admin
コンテナを起動(-p でポートマッピングを行う)
# systemd-nspawn --bind=/var/cache/apt --network-bridge=br0 -bD /var/lib/machines/pi-home-admin -p443
ホスト名の変更
# echo pi-home-admin > /etc/hostname
IPアドレスの修正(Address を修正)
# vi /etc/systemd/network/host0.network
===== パッケージのインストール =====
nginx, php-fpm のインストールと起動
# apt-get update
# apt-get -y install nginx
# apt-get -y install php7.3 php7.3-fpm php7.3-mbstring php7.3-mysqlnd php7.3-gd
# systemctl enable nginx
# systemctl start nginx
# systemctl enable php7.3-fpm
# systemctl start php7.3-fpm
===== Nginx の設定 =====
オレオレ証明書の作成
# mkdir /var/lib/machines/pi-home-admin/etc/nginx/ssl
# cd /var/lib/machines/pi-home-admin/etc/nginx/ssl
# openssl genrsa 2048 > server.key
# openssl req -new -key server.key > server.csr
# openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
# rm server.csr
# chmod 400 server.*
default 設定の削除
# cd /etc/nginx/
# mv sites-available/default sites-available/default.org
# rm sites-enabled/default
server {
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
server_name localhost;
root /var/www-ssl;
index index.php index.html index.htm;
location / {
location ~* \.php$ {
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
Nginx のリロード
# systemctl reload nginx
===== phpMyAdmin のインストール =====
# apt-get -y install phpmyadmin
# mv /etc/phpmyadmin/config.inc.php /etc/phpmyadmin/config.inc.php.org
# cp /usr/share/phpmyadmin/config.sample.inc.php /etc/phpmyadmin/config.inc.php
DBサーバー設定
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '10.0.0.31';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
Basic 認証用のアカウントを作成\\
初めてパスワードを作る場合は、htpasswd -c と -c を付けて新規作成
# apt-get -y install apache2-utils
# htpasswd /etc/nginx/.htpasswd ユーザ名
New password: パスワード
Re-type new password: パスワード
Adding password for user ユーザ名
Nginx 設定
# phpMyAdmin
location /phpmyadmin {
root /usr/share/;
index index.php;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
location ~ ^/phpmyadmin/(.+\.php)$ {
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}