Help us understand the problem. What is going on with this article?

Markdown記法に対応したCMS GravをUbuntu 16.04にインストールする

More than 3 years have passed since last update.

Qiitaに記事を投稿してみて、Markdown記法が気に入ったのでMarkdown記法に対応したCMSを探してみました。
色々調べたところ日本語にも対応しているGravを使ってみることにしました。
GravをUbuntu16.04にインストールしたときのまとめです。

PHPのインストール

apt-getでインストールできるもののインストール

apt-get install php7.0 php7.0-fpm php7.0-cli php7.0-gd php7.0-mbstring php-pear php7.0-curl php7.0-dev php7.0-opcache php7.0-xml 
apt-get install  php-zip

apcu PHP extensionのインストール

peclでインストールします。

pecl install apcu

apcu.iniを/etc/php/7.0/mods-availableに作成します。

apcu.ini
extension=apcu.so

/etc/php/7.0/fpm/conf.d/にシンボリックリンクを張ります。

ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/fpm/conf.d/20-apcu.ini

Yaml PHP extensionのインストール

依存関係のあるlibyaml-devをapt-getで先にインストールしてから
peclでインストールします。

apt-get install libyaml-dev
pecl install yaml-2.0.0

yaml.iniを/etc/php/7.0/mods-availableに作成します。

yaml.ini
extension=yaml.so

/etc/php/7.0/fpm/conf.d/にシンボリックリンクを張ります。

ln -s /etc/php/7.0/mods-available/yaml.ini /etc/php/7.0/fpm/conf.d/20-yaml.ini

www.confの修正

Nginxの実行ユーザーがnginxなので該当部分を修正、アクセス権を修正します。

vi /etc/php/7.0/fpm/pool.d/www.conf
www.conf
   ・
   ・
user = nginx
group = nginx
   ・
   ・
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Composerのインストール

ComposerはPHPの依存関係マネージャです。
必要なすべてのライブラリと依存関係を解決します。

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Nginxのインストール

標準でインストールされるNginxは少し古いので公式nginxをリポジトリに追加してインストールします。

リポジトリリストにnginx.listを追加します。

vi /etc/apt/sources.list.d/nginx.list

nginx.list
deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx

Nginxサイトが配布するPGPキーを追加後、Nginxをインストールします。

curl http://nginx.org/keys/nginx_signing.key | sudo apt-key add -
apt-get update
apt-get install nginx

Gravのインストール

VirtualHostでサービスするのでディレクトリを作成します。
所有者をnginxに変更します。
※www.sample.localは実際のURLに変更してください。

mkdir -p /virtual/public/www.sample.local
chown -R nginx.nginx /virtual/public/www.sample.local

gitをインストールしてgitでGravをダウンロードします。

apt-get install git
cd /virtual/public/
git clone https://github.com/getgrav/grav.git

Gravをインストールします。

cd grav
composer install --no-dev -o
./bin/grav instal
./bin/gpm install admin

VirtualHostのディレクトリにコピーします。

cp -R grav/* www.sample.local/

Nginxの設定ファイルをコピーし、修正します。

cp webserver-configs/nginx.conf /etc/nginx/conf.d/grav-admin.conf
vi /etc/nginx/conf.d/grav-admin.conf
  1. #listen 80;のコメントを外します。
  2. rootディレクトリを修正します。
  3. serverを修正します。
  4. fastcgi_passを修正します。
grav-admin.conf
server {
    listen 80;
    index index.html index.php;

    ## Begin - Server Info
    root /virtual/public/www.sample.local;
    server_name www.sample.local;
    ## End - Server Info
     ・
     ・
    ## Begin - PHP
    location ~ \.php$ {
        # Choose either a socket or TCP/IP address
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        # fastcgi_pass 127.0.0.1:9000;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    }
    ## End - PHP
}

php-fpmとNginxを再起動する。

service php7.0-fpm restart
service nginx restart

Gravのサイトにアクセスします。

ブラウザで閲覧すると自動的にadminディレクトリに移動します。
grav_init.png

各項目を入力してCreate Userをクリックします。
- Username → 小文字のみでユーザ名を決める
- Email → メールアドレス
- Password →パスワード(英大文字、英小文字、数字を含める)
- Confirm Password →パスワード確認
- Full name → サイトに表示される名称
- Title → 肩書

管理者画面に移動します。
grav_admin.png

左側のメニューのユーザー(ここではサイト管理者)をクリックするとユーザー設定画面に移動します。
grav_jpn1.png

Languageを日本語に変更してSaveをクリックすると日本語に切り替わります。
grav_jpn2.png

それでは、Gravをお楽しみください。

参考にさせて頂いたサイト

chanken
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした