concrete5のインストール
前回はベース用のAMIを作成したのでそこからサクッと別イメージを作成して
CMSなぞ構築してみようかと思ってWordPressという選択肢もあるんですが、今回は
concrete5を入れてみます。Moveble-Typeもあるけど、お金いるんで今回はパスで
1.参考情報
◆構築参照サイト
http://isboj.wp.xdomain.jp/2017/09/01/concrete5/
https://qiita.com/renny1398/items/a6aa309d05245f0aae60
https://websiteforstudents.com/install-concrete5-on-ubuntu-16-04-lts-with-nginx-mariadb-and-php-7-1-support/
https://qiita.com/sapi_kawahara/items/bbfbc57fd12ff348f216
https://tecadmin.net/install-php5-on-ubuntu/
(2)ElasticIP割当
・作成済みのインスタンを停止する。
右クリック→インスタンスの状態から[停止]を選択
・ElasticIPを紐付
ElasticIPを選択→割当対象のIPを選択後右クリック→アドレスの関連付を選択
インスタンスの箇所でconcrete5svを選択
・該当インスタンスを起動する。
CMSなぞ構築してみようかと思ってWordPressという選択肢もあるんですが、今回は
concrete5を入れてみます。Moveble-Typeもあるけど、お金いるんで今回はパスで
1.参考情報
◆構築参照サイト
http://isboj.wp.xdomain.jp/2017/09/01/concrete5/
https://qiita.com/renny1398/items/a6aa309d05245f0aae60
https://websiteforstudents.com/install-concrete5-on-ubuntu-16-04-lts-with-nginx-mariadb-and-php-7-1-support/
https://qiita.com/sapi_kawahara/items/bbfbc57fd12ff348f216
https://tecadmin.net/install-php5-on-ubuntu/
◆使い方
◆テーマ作成方法
◆カスタマイズ等
◆Wordpressからの移行
まだ移行とかはできていないですが、HTMLからテンプレートを生成するところが
比較的簡単でした。WordPressよりも使い勝手いいかもしれないです。
2.構築手順
雑ですが、concrete5をベースイメージから構築する手順まとめました。
(1)インスタンス作成
・AMI[yyyymmdd_BaseOS_Image]を右クリックして作成を選択
・インスタンスタイプはt3microを選択
[次へ]
・IAMロール:EC2toS3Backupを選択
・削除保護の有効化にチェックを付ける
・T2/T3 Unlimited の有効化を外す
[次へ]
・ボリュームサイズは基本8GBなので用途に応じて設定(基本10GB以上)
※今回は20GBを設定
[次へ]
・タグを設定
キー:concrete5-Backup-Generation , 値:1
キー:Name 値:concrete5sv
[次へ]
既存のセキュリティグループを選択する
[確認と作成]
[作成]
(1)インスタンス作成
・AMI[yyyymmdd_BaseOS_Image]を右クリックして作成を選択
・インスタンスタイプはt3microを選択
[次へ]
・IAMロール:EC2toS3Backupを選択
・削除保護の有効化にチェックを付ける
・T2/T3 Unlimited の有効化を外す
[次へ]
・ボリュームサイズは基本8GBなので用途に応じて設定(基本10GB以上)
※今回は20GBを設定
[次へ]
・タグを設定
キー:concrete5-Backup-Generation , 値:1
キー:Name 値:concrete5sv
[次へ]
既存のセキュリティグループを選択する
[確認と作成]
[作成]
(2)ElasticIP割当
・作成済みのインスタンを停止する。
右クリック→インスタンスの状態から[停止]を選択
・ElasticIPを紐付
ElasticIPを選択→割当対象のIPを選択後右クリック→アドレスの関連付を選択
インスタンスの箇所でconcrete5svを選択
・該当インスタンスを起動する。
(3)サーバ上でのコマンド
# ホスト名設定
$ sudo hostnamectl set-hostname concrete5sv
# アップデート
$ sudo apt-get -y update
$ sudo apt-get -y upgrade
# バックアップシェル修正
$ sudo vi ami_auto_backup.sh
※BILLINGGROUPとBACKUPGROUPの箇所修正
++++++++++++
BILLINGGROUP="concrete5"
BACKUPGROUP="concrete5-Backup-Generation"
++++++++++++
# ubuntuユーザをwww-dataグループに追加
$ sudo usermod -aG www-data ubuntu
## nginxインストール
$ sudo apt-get -y install nginx
$ nginx -v
nginx version: nginx/1.14.0 (Ubuntu)
## SSL証明書設定
# 自己証明書
$ cd /etc/nginx/
$ sudo mkdir ssl
$ cd ssl
$ sudo openssl genrsa -aes128 -out server.key 2048
Enter pass phrase for server.key:password
Verifying - Enter pass phrase for server.key:password
$ sudo openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:password
$ sudo openssl req -new -days 3650 -key server.key -out server.csr
$ sudo openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 36500
## nginx設定
# Basic認証設定
$ sudo apt-get install apache2-utils
$ sudo htpasswd -c /etc/nginx/.htpasswd auth_user
New password: passwd
Re-type new password: passwd
# 設定ファイル修正
$ sudo vi /etc/nginx/nginx.conf
+++++++
http {
##
# Basic Settings
##
++ server_tokens off;
keepalive_timeout 160; ←修正
$ sudo vi /etc/nginx/conf.d/concrete5.conf
++++++++
upstream phpfpm{
server unix:/var/run/php/php7.2-fpm.sock;
}
server {
listen 80; # httpへのアクセスをhttpsへリダイレクトする
listen [::]:80;
server_name XX.XX.XX.XX;
if ($http_x_forwarded_proto != https) {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
ssl on;
server_name XX.XX.XX.XX;
index index.html index.htm index.php;
client_max_body_size 128M;
ssl_stapling on;
ssl_stapling_verify on;
ssl_session_timeout 5m;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains" always;
location / {
root /var/www/concrete5;
index index.html index.htm index.php;
auth_basic "Please Input ID and Password";
auth_basic_user_file /etc/nginx/.htpasswd;
try_files $uri $uri/ /index.php?$query_string;
if ( !-e $request_filename ) {
rewrite ^ index.php last;
}
}
location ~ \.php$ {
fastcgi_pass phpfpm;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/concrete5/$fastcgi_script_name;
include fastcgi_params;
}
}
++++++++
## PHP7.2インストール
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get -y install php7.2-fpm php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-zip php7.2-curl
$ php -v
PHP 7.2.12-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Nov 12 2018 09:55:44) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.12-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
# PHP.ini編集
$ sudo vi /etc/php/7.2/fpm/php.ini
memory_limitを書き替え
++++++++++++++++++++++++++++++++++
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 256M
++++++++++++++++++++++++++++++++++
## MariaDBインストール
$ sudo apt-get -y install mariadb-server
# 文字コード設定
$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
以下2行の通りutf8に変更
++++++++++++++++++++++++++++++
character-set-server = utf8
collation-server = utf8_general_ci
++++++++++++++++++++++++++++++
$ sudo vi /etc/mysql/mariadb.conf.d/50-client.cnf
以下の通りutf8に変更
++++++++++++++++++++++++++++++
default-character-set = utf8
++++++++++++++++++++++++++++++
$ sudo vi /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
++++++++++++++++++++++++++++++
default-character-set = utf8
++++++++++++++++++++++++++++++
## MariaDB初期設定
$ sudo mysql_secure_installation
# パスワード設定(空白にしない)
Enter current password for root (enter for none):
Change the root password? [Y/n] Y
New password:password
Re-enter new password:password
# 匿名ユーザ削除
Remove anonymous users? [Y/n] Y
# rootリモートログイン禁止
Disallow root login remotely? [Y/n] Y
# テストデータベース削除
Remove test database and access to it? [Y/n] Y
# 特権情報リロード
Reload privilege tables now? [Y/n] Y
# MariaDB再起動
$ sudo service mysqld restart
# 接続確認
$ mysql --version
mysql Ver 15.1 Distrib 10.1.34-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
$ sudo mysql -u root -p
MariaDB [(none)]> show variables like 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
# concreate5用データベース作成
MariaDB [(none)]> create database concrete5;
MariaDB [(none)]> select user from mysql.user where user='concrete5';
MariaDB [(none)]> grant all privileges on concrete5.* to concrete5@localhost identified by 'concrete5';
MariaDB [(none)]> exit
$ sudo mysql -u concrete5 -p
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| nConcrete5 |
+--------------------+
MariaDB [(none)]> exit
## concrete5インストール
$ sudo apt-get -y install unzip
$ cd /var/www/
$ sudo wget http://www.concrete5.org/download_file/-/view/107738/
※URLはhttps://concrete5-japan.org/about/download/にてボタンのリンクをコピーすること
$ sudo mv index.html concrete5.zip
$ sudo unzip concrete5.zip
$ sudo mv concrete5-8.4.3 concrete5
$ sudo chown -R www-data concrete5
$ sudo chgrp -R www-data concrete5
$ sudo rm -f concrete5.zip
# 再起動
$ sudo systemctl restart nginx.service
$ sudo systemctl restart php7.2-fpm.service
# 自動起動設定
$ sudo systemctl enable nginx.service
$ sudo systemctl enable php7.2-fpm.service
$ sudo systemctl enable mariadb.service
コメント