wwwサーバをインストールしたら、コンテンツも作りたいですよね!
昔はパソコンのアプリ(ホームページビルダーなど)で作成するのが一般的でしたが、今はwebサーバ上にCMS(コンテンツ・マネジメント・システム)をインストールして作成するほうが多いのかな?無料のツールもありますし。
今回は、簡単に設置およびページ作成できること、スマホ用にレスポンシブなページが作成できることを条件にCMSを選んでみました。
WordPressも良いのですが、ブログなどたくさんのページで構成されたコンテンツ用なので、お手軽に使うにはちょっと重いかな?
Gravはデータベースを使わないFlat-File CMSでバックアップや移行などの管理が簡単なこと、レスポンシブにも対応しスキンによって見た目を自分好みに変更できることなどから、インストールすることにしました。
GravはPortsに入っていないので、手動でインストールすることになります。
まずはGravのホームページのダウンロードページから「Grav core + Admin plugin」をダウンロードします。
root@cafe:~ # cd /usr/local/www/
root@cafe:/usr/local/www # ls
nginx nginx-dist
root@cafe:/usr/local/www # wget --no-check-certificate --content-disposition https://getgrav.org/download/core/grav-admin/1.6.27
--2020-09-27 10:36:09-- https://getgrav.org/download/core/grav-admin/1.6.27
Resolving getgrav.org (getgrav.org)... 2600:3c00::f03c:91ff:fe61:8b0e, 45.79.6.45
:
省略
:
Length: 11002126 (10M) [application/octet-stream]
Saving to: 'grav-admin-v1.6.27.zip'
grav-admin-v1.6.27. 100%[===================>] 10.49M 418KB/s in 44s
2020-09-27 10:36:55 (244 KB/s) - 'grav-admin-v1.6.27.zip' saved [11002126/11002126]
root@cafe:/usr/local/www # ls
grav-admin-v1.6.27.zip nginx nginx-dist
root@cafe:/usr/local/www #
webページのコンテンツは、/usr/local/wwwの下に入れたいので、そこに移動し、
wget --no-check-certificate --content-disposition https://getgrav.org/download/core/grav-admin/1.6.27
コマンドでダウンロードします。
wgetコマンドがない場合
cd /usr/ports/ftp/wget/
make install clean
コマンドでインストールしてください
root@cafe:/usr/local/www # unzip grav-admin-v1.6.27.zip
Archive: grav-admin-v1.6.27.zip
creating: grav-admin/
creating: grav-admin/vendor/
creating: grav-admin/vendor/ralouphie/
:
省略
:
creating: grav-admin/tmp/
extracting: grav-admin/tmp/.gitkeep
root@cafe:/usr/local/www # chown -R www:www grav-admin
root@cafe:/usr/local/www # ls -al grav-admin
total 436
drwxr-xr-x 14 www www 512 Sep 27 12:18 .
drwxr-xr-x 5 root wheel 512 Sep 27 12:18 ..
drwxr-xr-x 2 www www 512 Sep 27 12:18 .github
-rw-r--r-- 1 www www 3046 Sep 2 05:39 .htaccess
-rw-r--r-- 1 www www 142723 Sep 2 05:39 CHANGELOG.md
-rw-r--r-- 1 www www 3216 Sep 2 05:39 CODE_OF_CONDUCT.md
-rw-r--r-- 1 www www 7098 Sep 2 05:39 CONTRIBUTING.md
-rw-r--r-- 1 www www 1071 Sep 2 05:39 LICENSE.txt
-rw-r--r-- 1 www www 6701 Sep 2 05:39 README.md
drwxr-xr-x 2 www www 512 Sep 27 12:18 assets
drwxr-xr-x 2 www www 512 Sep 27 12:18 backup
drwxr-xr-x 2 www www 512 Sep 27 12:18 bin
drwxr-xr-x 2 www www 512 Sep 27 12:18 cache
-rw-r--r-- 1 www www 3807 Sep 2 05:39 composer.json
-rw-r--r-- 1 www www 198967 Sep 2 05:39 composer.lock
drwxr-xr-x 2 www www 512 Sep 27 12:18 images
-rw-r--r-- 1 www www 1710 Sep 2 05:39 index.php
drwxr-xr-x 2 www www 512 Sep 27 12:18 logs
-rw-r--r-- 1 www www 76 Sep 2 05:39 now.json
-rw-r--r-- 1 www www 227 Sep 2 05:39 robots.txt
drwxr-xr-x 10 www www 512 Sep 27 12:18 system
drwxr-xr-x 2 www www 512 Sep 27 12:18 tmp
drwxr-xr-x 8 www www 512 Sep 27 12:18 user
drwxr-xr-x 28 www www 512 Sep 27 12:18 vendor
drwxr-xr-x 2 www www 512 Sep 27 12:18 webserver-configs
root@cafe:/usr/local/www # mv grav-admin grav
root@cafe:/usr/local/www #
unzip grav-admin-v1.6.27.zip
コマンドで解凍します。
chown -R www:www grav-admin
コマンドでユーザー、グループをwwwに変更し、webサーバが読み書きできるようにしておきます。
mv grav-admin grav
コマンドでディレクトリ名を変更します。
次にGravを動かせるようにnginxの設定をしておきましょう。
root@cafe:/usr/local/www # vi /usr/local/etc/nginx/nginx.conf
root@cafe:/usr/local/www # grep -v \# /usr/local/etc/nginx/nginx.conf | grep -v ^$
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
root /usr/local/www;
location /nginx {
index index.html index.htm;
}
location /grav {
index index.php;
try_files $uri $uri/ /grav/index.php?$query_string;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
root@cafe:/usr/local/www #
と、/usr/local/etc/nginx/nginx.confを編集しました。
root /usr/local/www;
ドキュメントルートを/usr/local/wwwに変更し、
location /grav {
index index.php;
try_files $uri $uri/ /grav/index.php?$query_string;
}
を追加してみました。
root@cafe:/usr/local/www # service nginx restart
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Stopping nginx.
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Starting nginx.
root@cafe:/usr/local/www #
と、nginxを再起動しました。
とりあえずGravのページにアクセスすると
エラーになりました。
これはPHPのモジュールが足りたいためです。画面のとおり
のモジュールをインストールしましょう。
手順は
root@cafe:~ # cd /usr/ports/lang/php74-extensions
root@cafe:/usr/ports/lang/php74-extensions # make install
===> Staging for php74-extensions-1.0
===> php74-extensions-1.0 depends on file: /usr/local/include/php/main/php.h - found
のように/usr/ports/lang/php74-extensionsでmake install
です。
設定画面がでるので、上記モジュールが全部入るように追加してください。
モジュールの追加が終わったら
root@cafe:/usr/ports/lang/php74-extensions # service php-fpm restart
Performing sanity check on php-fpm configuration:
[28-Sep-2020 00:08:25] NOTICE: configuration file /usr/local/etc/php-fpm.conf test is successful
Stopping php_fpm.
Waiting for PIDS: 640.
Performing sanity check on php-fpm configuration:
[28-Sep-2020 00:08:25] NOTICE: configuration file /usr/local/etc/php-fpm.conf test is successful
Starting php_fpm.
root@cafe:/usr/ports/lang/php74-extensions #
service php-fpm restart
コマンドでphp-fpmを再起動します。
Gravにアクセスすると、Admin設定画面が表示されました!
これで、Gravのインストールは完了です。
とりあえず、Gravの管理者を作成しましょう。
必須項目である、ユーザー名、メールアドレス、パスワードを入力し、「Create User」をクリックします。
設定画面は、左ペインのスパナマークなので、そちらをクリックします。
「Site」タブの「Default language」には「ja」を入れて、「Save」をクリックして保存します。
「System」タブの「Languages」→「Override Default Language」には「ja」を「Include default language」は「No」に変更して、「Save」をクリックして保存です。
左ペインのユーザーアイコンをクリックして、「Language」で「日本語」を選択し、「Save」をクリックして保存します。
これで、メニューが日本語になりました。
あとは左ペインのページアイコンをクリックして、ページの変更、作成を行えば見栄えの良いホームページができます!
テーマを変えて、自分好みにしてください。
このホームページも、Gravで作成しています。