web のセットアップ(Nginx)

【ubuntu20.20で必要だったもの一覧】

apt install nginx -y
apt install mysql-client -y
apt install mariadb-server -y
apt install php7.4 php7.4-cli php7.4-fpm php7.4-curl -y
apt install php7.4-mbstring php7.4-mysql php7.4-xml -y
apt install unzip -y


php8.1の場合
apt install php8.1 php8.1-cli php8.1-fpm php8.1-curl php8.1-mbstring php8.1-mysql php8.1-xml -y

php8.2の場合(debian12 bookworm)

sudo apt install nginx mariadb-client mariadb-server php8.2 php8.2-cli php8.2-fpm php8.2-curl php8.2-mbstring php8.2-mysql php8.2-xml -y

【管理者ユーザーの追加】

※ MariaDBはインストール直後、idとパスワード指定でinできる
  管理者アカウントが無いので、suからmysqlを起動し、下記の
  SQLで管理者アカウントを作っておかないと、phpmyadminが使
  えない

CREATE USER `useraccount`@`%` IDENTIFIED BY `password`;
GRANT ALL PRIVILEGES ON *.* TO `useraccount`@`%` WITH GRANT OPTION;

※ 上記だとエラーの場合

CREATE USER "useraccount"@"%" IDENTIFIED BY "password";
GRANT ALL PRIVILEGES ON *.* TO "useraccount"@"%" WITH GRANT OPTION;

【NGinx の設定】

vi /etc/nginx/sites-available/default

※ 以下Server{}に入れる
  serverは複数定義できるのでポート単位で別動作も簡単

  wordpressでパーマリンクを使用する場合、wordpressの
  root単位に設定をする必要あり
  例では /, /miteel の2個のwordpressがある場合を想定

  client_max_body_size 100m; は、アップロードサイズ
  を大きくする際に合わせて大きくしておく必要あり

client_max_body_size 100m;
server_name tkz.miteel.net;
index index.php index.html index.htm index.nginx-debian.html;

location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}

location / {
try_files $uri $uri/ /index.php?$args;
}

location /miteel {
try_files $uri $uri/ /miteel/index.php?$args;
}

【php.iniを設定】

※ デフォルトではアップロードが2Mリミットで使えないので以下を設定
効いている php.ini は phpinfo(); で確認できる

vi /etc/php/7.4/fpm/php.ini

post_max_size = 100M
upload_max_filesize = 100M
memory_limit = 512M

以下は php8.0 のミニマムインストールで、phpmyadminの動作確認済み


sudo apt install nginx -y
sudo apt install php8.0 php8.0-fpm php8.0-mysql -y
sudo apt install mariadb-server mariadb-client -y
sudo mariadb-secure-installation