# いい感じの ブログ を作成する
現状の課題
- 現在:生PHPによるブログ生成のためモダンじゃない
- robot が収集してくれない
- markdown の表示がイケてない
- 保守性にかける
一般的な構成調査
用語
CMS(Contest Management System)
gitベース
apiベース
一般的なブログ構成
やってみた
とりあえず WordPress 導入
https://ja.wordpress.org/download/
sudo amazon-linux-extras install nginx1.12 -y
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
sudo amazon-linux-extras install php7.4 -y
sudo vi /etc/php-fpm.d/www.conf
sudo systemctl restart php-fpm.service
sudo systemctl restart nginx.service
cd /usr/share/nginx/html
sudo echo "<?php phpinfo(); ?>" | sudo tee - info.php
sudo vi /etc/nginx/nginx.conf
sudo yum install mariadb-server mariadb-client
sudo systemctl enable mariadb
sudo systemctl start mariadb
wget https://ja.wordpress.org/latest-ja.zip
unzip latest-ja.zip
sudo chown -R nginx:ec2-user /usr/share/nginx/html/
mysql -u root
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8;
GRANT ALL ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
残りはここを参考に https://qiita.com/cherubim1111/items/1e1f227a0a495bc14a11
要件
- PHP 7.4以上
- MySQL 5.6
- Nginx / Apache
導入完了
所感
コンポーネントが多い カスタマイズ等は十分そう
もう少し軽量なCMSが欲しい
-
FlatFile CMS(DB使わないCMS)
-
WonderCMS
-
Headless CMS (UI がないCMS)
試してみる
WonderCMS
wget https://github.com/robiso/wondercms/releases/download/3.1.4/WonderCMS-3.1.4.zip
unzip WonderCMS-3.1.4.zip
mv WonderCMS-3.1.4.zip wondercms
sudo chown -R nginx:ec2-user wondercms/
sudo chmod 774 -R wondercms/
500が返却されるので理由確認
sudo cat /etc/php-fpm.d/www.conf | grep "error"
sudo vi /etc/php-fpm.d/www.conf
sudo yum -y install php-mbstring
OK
sudo vi /etc/nginx/nginx.conf の server_name を参照するのでここミスっているとログイン不可
nginxでは.htaccessを利用できないのも罠
nginx用の設定 https://github.com/robiso/wondercms/wiki/NGINX-server-config
root /usr/share/nginx/html/wondercms;
include /etc/nginx/default.d/*.conf;
# rewrite url to make it pretty
location / {
if (!-e $request_filename) {
rewrite ^/(.+)$ /index.php?page= last;
}
}
この辺の設定がうまく動作しないと動作しない
fastcgi_pass で php-fpmが提供する UnixDomainSocket を設定しないといけない
ログイン画面は表示されたが、セッションが保存されない
cat /etc/php-fpm.d/www.conf | grep “session” sudo ls -l /var/lib/php/session total 0
いかにもセッション作成に失敗してそうな雰囲気
sudo ls -l /var/lib/php/ total 0 drwxrwx— 2 root apache 6 Jul 7 17:39 opcache drwxr-xr-x 2 root root 6 Jul 7 17:39 peclxml drwxrwx— 2 root apache 6 Jul 7 17:39 session drwxrwx— 2 root apache 6 Jul 7 17:39 wsdlcache
なぜか apache が持ってた sudo chown root:nginx /var/lib/php/session
おお、これは使いやすそう