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
コメント