0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ubuntu 22.04 LTSにフラットCMSのGravをインストールする

Last updated at Posted at 2023-03-29

はじめに

自分でブログやWebサイトを作るとして、無料・有料ブログサービスを使わず、自分でサーバーを借りて環境を構築するなら、何を使うのが良いかを考えていました。

ざっくりとしていますが、要件です。

  • インストールが楽
  • DBを使わないで済めば、そのほうが良い
  • できればMarkdownで書きたい
  • 管理画面はほしい

WordPressは定番ですけれど、プラグインに振り回されそうなので避けようと思いました。

また、サイトジェネレーターを使うことも考えて、いくつか試してみましたが(Hugo、Hexoなど)、ページやカテゴリなどの管理は管理画面で行えたほうが良いと思いました。VS Codeを使えばMarkdownが書きやすいのは良かったのですけれど。

そうやって探しているうちに、GravというフラットCMSの存在を知りました。

これなら要件を満たせそうだと思えたので、家庭内サーバーで試しにインストールしてみることにしました。

環境

  • OSはUbuntu Server 22.04 LTS
  • Webサーバーはnginx

手順

Gravのインストールに必要なパッケージをインストールしておく

$ sudo apt install php php-fpm nginx php-curl php-gd php-mbstring php-zip unzip

PHP、FPM(PHPにおけるFastCGI実装)の他、php-で始まるパッケージはGravが必要としているパッケージです。

あと、Zipファイルを解凍するのに必要なので、unzipをインストールします。

Gravのパッケージをダウンロードする

https://getgrav.org/downloads からダウンロードします。

管理用のプラグインがあったほうが良いので、「Grav Core + Admin plugin」をダウンロードします。

なお、ブラウザでダウンロードすると、ダウンロードしたときのファイル名は「grav-admin-v1.7.40.zip」となりますが、wgetでダウンロードすると「1.7.40」というようにバージョンがファイル名になりますので、-oオプションでファイル名をつけるようにしました。

$ wget https://getgrav.org/download/core/grav-admin/1.7.40 -o grav-admin-v1.7.40.zip

GravのZipファイルを展開・配置する

/var/www/html/gravディレクトリに置いて、「http(s)://<サーバー名>/grav」でアクセスできるようにします。

// Zipファイルを/var/www/htmlに展開する
$ sudo unzip grav-admin-v1.7.40.zip -d /var/www/html/

// ディレクトリ名をgrav-adminからgravに変更する
$ sudo mv /var/www/html/grav-admin /var/www/html/grav

/var/www/html/grav/の所有者をwww-dataに変更する

これをしておかないと、/var/www/html/grav/内のファイル・ディレクトリにある設定ファイルへの書き込みができずにエラーとなります。

$ sudo chown -R www-data:www-data /var/www/html/grav/

nginxの設定

/etc/nginx/sites-available/grav を以下のように設定します。

server {
    listen 80;
    server_name _;
    root /var/www/html;

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

    location ~ \.php$ {
        # Caution: be sure the php8.1-fpm.sock matches your version
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

この後、サイトの有効化と設定ファイルのチェックを行い、設定ファイルチェックがOKとなったのを確認して、nginxを再起動しました。

$ sudo ln -s /etc/nginx/sites-available/grav /etc/nginx/sites-enabled/grav
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ sudo systemctl restart nginx.service

Gravの初期設定

「http(s)://<サーバー名>/grav」にアクセスして、以下の画面が表示されればGravのインストールは成功です。
なお、URLは「http(s)://<サーバー名>/grav/admin」にリダイレクトされます。

image.png

Title以外は必須項目なので、各項目を入力します。
パスワードはアルファベットの大文字・小文字の混在で、8文字以上とします。

入力を終えたら「Create User」ボタンを押下します。

Gravのダッシュボード

ユーザーの作成に成功すると、Gravのダッシュボードが表示されます。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?