このブログを動かしてるサーバーを構築した時のメモ。忘れないうちに・・・。
Raspberry piで動くOSはいくつかあるけど、ubuntuを選択した理由は録画用サーバーがubuntuで構築してあったからという単純な理由。あとは初期インストールが楽な点も。
ubuntuの公式サイトからarm版のディスクイメージをダウンロード。
OSイメージを起動デバイスに書き込みしてpiに接続し、その他必要なケーブルを繋げて起動。
Serverイメージに限り、起動直後からもssh接続でリモート作業が可能。Desktop版の場合は、Openssh-serverをインストールしないとリモートでの作業はできないので注意。
以下の作業はssh接続で作業。
ssh user@raspberrypi.local sudo apt update -y && sudo apt upgrade -y sudo apt install -y nginx php php -v ## バージョンの確認 sudo apt install -y php-fpm php-mbstring php-mysql php-curl php-dom php-imagick php-xml php-zip sudo nano /etc/php/8.1/fpm/php.ini
## /etc/php-8.1/fpm/php.ini ## 必要に応じて書き換え memory_limit = 256M post_max_size = 16M upload_max_filesize = 16M
sudo nano /etc/nginx/sites-enabled/default
## /etc/nginx/sites-enabled ## nginx設定ファイル server { listen 80 default_server; listen [::]:80 default_server; client_max_body_size 16M; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: https://bugs.debian.org/765782 # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; root /var/www/html/wordpress; ## 公開ディレクトリの指定 # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html index.php; server_name _; ## 自分のサーバーのドメイン location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404 try_files $uri $uri/ =404; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; } }
sudo nginx -t sudo nginx -s reload ## データベースサーバーインストール sudo apt install -y mariadb-server sudo mysql_secure_installation sudo mysql -u root -p
CREATE USER 'user'@'%' IDENTIFIED BY 'password'; CREATE DATABASE wp CHARACTER SET UTF8 COLLATE UTF8_BIN; GRANT ALL PRIVILEGES ON wp.* TO 'user'@'%'; quit;
cd /tmp wget https://wordpress.org/latest.tar.gz ##ファイルのダウンロード tar -xzvf latest.tar.gz ## 展開 sudo mv wordpress /var/www/html ## ファイルの移動、nginx設定で指定した公開ディレクトリ sudo chown -R www-data:www-data /var/www/html/wordpress ## 権限の変更
間違っていなければブラウザでサーバーへアクセスをして最終設定すればブログサーバーの構築完了。
ルーターの設定やssl設定、dns設定も必要だけど、上記作業でとりあえずは動作する・・・はず。
Web serverの構築 覚書