Web serverの構築 覚書

このブログを動かしてるサーバーを構築した時のメモ。忘れないうちに・・・。

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の構築 覚書
トップへ戻る