Closed RVIRUS0817 closed 5 years ago
・vagrantのインストール ・vagrant boxの追加(vagrant box add) ・vagrantの初期化(vagrant init) 上記、完了しました。
・仮想マシンを起動する(vagrant up)
・仮想マシンへログインする(vagrant ssh)
・mentaユーザの作成(rootユーザで useradd menta) ・mentaユーザのパスワードの設定(passwd menta) ・mentaユーザをwheelグループへ追加する
・公開鍵認証 ssh-keygenコマンドで秘密鍵を生成する→~/.sshに鍵ファイルが作られる 公開鍵をサーバー上に転送する サーバー上に.sshディレクトリを作成→パーミッションを700に変更 scp 公開鍵のファイル menta@サーバーのipアドレス:~/.ssh/authorized_keys
・Vagrantfileの編集 35行目のconfig.vm.network "private_network", ip: "ipアドレス"のコメントを外す 以下の2行を追加 config.ssh.username = "menta"→デフォルトでmentaユーザでsshログインをする config.ssh.private_key_path = "mac上で生成した秘密鍵へのパス"
公開鍵認証でログインをする ssh -i 【秘密鍵を指定】 menta@ipアドレス
ログなのですが、実際のコードを貼っていただけないでしょうか? マークダウンなどの書式についても調べると良いですよ。 https://qiita.com/kamorits/items/6f342da395ad57468ae3
すみませんでした。 直してまとめてみます。
Vagrantからダウンロードしてインストール
$ vagrant -v
Vagrant 2.2.3
$ vagrant box add centos64 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
$ vagrant box list
centos64 (virtualbox, 0)
$ mkdir -p ~/vagrant/centos64 #ディレクトリの作成
$ cd ~/vagrant/centos64/ #作成したディレクトリへ移動
$ vagrant init centos64 #Vagrantの初期化
$ ls
Vagrantfile
-Vagrantfileを編集する
$ vim Vagrantfile
config.vm.network "private_network", ip: "192.168.33.10" →35行目をコメントアウトを削除し有効にする
- Vagrantを再起動し設定を反映させる
$ vagrant reload
- Vagrantを起動する
$ vagrant up
## 仮想マシンへsshで接続する
$ vagrant ssh
安達さんの[ブログ記事](https://blog.adachin.me/archives/616)を参考にしました。
$ su -
パスワード:
最終ログイン: 2019/02/18 (月) 12:57:02 CET日時 pts/0
[root@localhost ~]#
# adduser menta #mentaユーザを追加
# passwd menta #パスワードを設定する
# usermod -aG wheel menta
# groups menta
menta : menta wheel
$ ssh menta@192.168.33.10
menta@192.168.33.10's password:
Welcome to your Vagrant-built virtual machine.
[menta@localhost ~]$
$ ssh-keygen -t rsa -v #鍵を生成する
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/naoya_sakashita/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): #鍵にパスワードをつける
Enter same passphrase again: #パスワードの再入力
$ ls ~/.ssh
id_rsa id_rsa.pub # id_rsa=秘密鍵(mac上に置く) id_rsa.pub=公開鍵(サーバー側に置く)
$ mkdir .ssh #公開鍵を転送するファイルを作る
$ chmod 700 .ssh/ #パーミッションの変更
$ ls -la #変更を確認
合計 16
drwx------ 3 menta menta 90 2月 18 22:39 .
drwxr-xr-x. 4 root root 32 2月 18 21:18 ..
-rw------- 1 menta menta 330 2月 18 22:22 .bash_history
-rw-r--r-- 1 menta menta 18 10月 31 02:07 .bash_logout
-rw-r--r-- 1 menta menta 193 10月 31 02:07 .bash_profile
-rw-r--r-- 1 menta menta 231 10月 31 02:07 .bashrc
drwx------ 2 menta menta 6 2月 18 22:39 .ssh ←このディレクトリへ転送
$ scp ~/.ssh/id_rsa.pub menta@192.168.33.10:~/.ssh/authorized_keys
menta@192.168.33.10's password:
id_rsa.pub 100% 407 290.3KB/s 00:00
$ ssh -i ~/.ssh/id_rsa menta@192.168.33.10 # iオプションで秘密鍵を指定する
Enter passphrase for key '/Users/naoya_sakashita/.ssh/id_rsa': # 鍵に設定したパスワードを求められるので入力
Last login: Mon Feb 18 22:36:40 2019 from 192.168.33.1
Welcome to your Vagrant-built virtual machine.
[menta@localhost ~]$ ←ログインできました。
次回からは以下のコマンドでログインすることができる
$ ssh menta@192.168.33.10
$ yum list available | grep httpd
httpd.x86_64 2.4.6-88.el7.centos base
httpd-devel.x86_64 2.4.6-88.el7.centos base
httpd-manual.noarch 2.4.6-88.el7.centos base
httpd-tools.x86_64 2.4.6-88.el7.centos base
keycloak-httpd-client-install.noarch 0.6-3.el7 base
libmicrohttpd.i686 0.9.33-2.el7 base
libmicrohttpd.x86_64 0.9.33-2.el7 base
libmicrohttpd-devel.i686 0.9.33-2.el7 base
libmicrohttpd-devel.x86_64 0.9.33-2.el7 base
libmicrohttpd-doc.noarch 0.9.33-2.el7 base
python2-keycloak-httpd-client-install.noarch
httpd.x86_64 2.4.6-88.el7.centos base
←このバージョンがインストールされる
$ sudo yum install httpd
$ sudo systemctl start httpd
ステータスを確認する
$ systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since 火 2019-02-19 15:42:29 CET; 1min 24s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 12202 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─12202 /usr/sbin/httpd -DFOREGROUND
├─12203 /usr/sbin/httpd -DFOREGROUND
├─12204 /usr/sbin/httpd -DFOREGROUND
├─12205 /usr/sbin/httpd -DFOREGROUND
├─12206 /usr/sbin/httpd -DFOREGROUND
└─12207 /usr/sbin/httpd -DFOREGROUND
2月 19 15:42:29 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
2月 19 15:42:29 localhost.localdomain httpd[12202]: AH00558: httpd: Could not reliably...e
2月 19 15:42:29 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
active (running)となっているので起動していることがわかる
$ sudo firewall-cmd --add-service=http --zone=public --permanent
$ sudo firewall-cmd --add-service=https --zone=public --permanent
$ sudo systemctl restart firewalld
$ sudo firewall-cmd --list-all
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: dhcpv6-client ssh http https
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
httpとhttpsが追加されていることがわかる
sudo systemctl enable httpd
確認をする
$ sudo systemctl list-unit-files -t service | grep httpd
httpd.service enabled ←enabledになっているので設定が反映されたことがわかる
ブラウザで見ると
Apacheのテストページが表示され問題なく起動していることがわかる
$ sudo vim /etc/yum.repos.d/nginx.repo
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=0 enabled=1
* リポジトリが追加されたか確認
$ yum search nginx 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile
updates: ftp.nara.wide.ad.jp base | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 nginx | 2.9 kB 00:00:00 updates | 3.4 kB 00:00:00 nginx/x86_64/primary_db | 130 kB 00:00:01 ==================================== N/S matched: nginx ==================================== nginx-debug.x86_64 : debug version of nginx nginx-debuginfo.x86_64 : Debug information for package nginx nginx-module-geoip.x86_64 : nginx GeoIP dynamic modules nginx-module-geoip-debuginfo.x86_64 : Debug information for package nginx-module-geoip nginx-module-image-filter.x86_64 : nginx image filter dynamic module nginx-module-image-filter-debuginfo.x86_64 : Debug information for package : nginx-module-image-filter nginx-module-njs.x86_64 : nginx njs dynamic modules nginx-module-njs-debuginfo.x86_64 : Debug information for package nginx-module-njs nginx-module-perl.x86_64 : nginx Perl dynamic module nginx-module-perl-debuginfo.x86_64 : Debug information for package nginx-module-perl nginx-module-xslt.x86_64 : nginx xslt dynamic module nginx-module-xslt-debuginfo.x86_64 : Debug information for package nginx-module-xslt nginx-nr-agent.noarch : New Relic agent for NGINX and NGINX Plus pcp-pmda-nginx.x86_64 : Performance Co-Pilot (PCP) metrics for the Nginx Webserver nginx.x86_64 : High performance web server →このパッケージをインストールする unit.x86_64 : NGINX Unit unit-devel.x86_64 : NGINX Unit (development tools)
Name and summary matches only, use "search all" for everything.
* nginxのインストール
$ sudo yum -y install nginx
* nginxのバージョンを確認
$ nginx -v nginx version: nginx/1.15.8
インストールされたことがわかる
* nginxの起動
$ sudo systemctl start nginx [sudo] menta のパスワード: Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
80番ポートでApacheが起動していたため停止して起動を試みる
$ sudo service httpd stop Redirecting to /bin/systemctl stop httpd.service [menta@localhost ~]$ sudo systemctl start nginx
* ブラウザで確認
<img width="952" alt="2019-02-20 21 13 21" src="https://user-images.githubusercontent.com/40429887/53091102-69333780-3554-11e9-8a22-75d4e43bfcc2.png">
$ sudo vim /etc/yum.repos.d/bintray-tatsushid-h2o-rpm.repo
[bintray-tatsushid-h2o-rpm] name=bintray-tatsushid-h2o-rpm baseurl=https://dl.bintray.com/tatsushid/h2o-rpm/centos/$releasever/$basearch/ gpgcheck=0 repo_gpgcheck=0 enabled=1
* インストールするパッケージの確認をする
yum info h2o 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile
* H2Oのインストール
$ sudo yum install h2o
* H2Oのバージョン確認
$ h2o -v h2o version 2.2.5 OpenSSL: LibreSSL 2.4.5 mruby: YES
version 2.2.5がインストールされた
$ sudo systemctl start h2o
$ sudo yum -y install epel-release #EPELリポジトリのインストール
$ sudo yum localinstall https://rpms.remirepo.net/enterprise/remi-release-7.rpm #Remiリポジトリのインストール
$ yum repolist
$ yum list available | grep php-
<略> php73-php-common.x86_64 7.3.2-1.el7.remi remi-safe ←最新版のPHPパッケージ <略>
* 最新版の7.3をインストールする
$ sudo yum --enablerepo=remi-php73 install php php-devel php-mysql php-gd php-mbstring
php本体、開発用のモジュール、mysqlを使うためのモジュール、画像変換モジュール、日本語などの文字を使用できる拡張モジュールをインストールする
* インストールしたPHPのバージョンを確認する
$ php -v PHP 7.3.2 (cli) (built: Feb 5 2019 13:10:03) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies
インストールできていることがわかる
## PHPで"Heloo World"をブラウザに表示してみる
$ sudo vim /var/www/html/index.php
<?php echo 'Hellow World';
* ファイルの所有者と所有グループをApacheにする
$ sudo chown apache:apache /var/www/html/index.php
ブラウザで確認をする
<img width="952" alt="2019-02-24 22 32 17" src="https://user-images.githubusercontent.com/40429887/53299906-16bf8700-3884-11e9-8e69-f2a1da5dd54d.png">
$ sudo yum remove mariadb-libs
$ sudo rm -rf /var/lib/mysql
$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
$ yum info mysql-community-server
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp-srv2.kddilabs.jp
* epel: ftp.iij.ad.jp
* extras: ftp-srv2.kddilabs.jp
* remi-safe: ftp.riken.jp
* updates: ftp-srv2.kddilabs.jp
利用可能なパッケージ
名前 : mysql-community-server
アーキテクチャー : x86_64
バージョン : 8.0.15 ←このバージョンがインストールされる
リリース : 1.el7
容量 : 360 M
リポジトリー : mysql80-community/x86_64
要約 : A very fast and reliable SQL database server
URL : http://www.mysql.com/
ライセンス : Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights
: reserved. Under GPLv2 license as shown in the Description field.
説明 : The MySQL(TM) software delivers a very fast, multi-threaded,
: multi-user, and robust SQL (Structured Query Language) database
: server. MySQL Server is intended for mission-critical, heavy-load
: production systems as well as for embedding into mass-deployed
: software. MySQL is a trademark of Oracle and/or its affiliates
:
: The MySQL software has Dual Licensing, which means you can use the
: MySQL software free of charge under the GNU General Public License
: (http://www.gnu.org/licenses/). You can also purchase commercial MySQL
: licenses from Oracle and/or its affiliates if you do not wish to be
: bound by the terms of the GPL. See the chapter "Licensing and Support"
: in the manual for further info.
:
: The MySQL web site (http://www.mysql.com/) provides the latest news
: and information about the MySQL software. Also please see the
: documentation and the manual for more information.
:
: This package includes the MySQL server binary as well as related
: utilities to run and administer a MySQL server.
$ sudo yum install mysql-community-server
$ mysql --version
mysql Ver 8.0.15 for Linux on x86_64 (MySQL Community Server - GPL)
$ sudo systemctl start mysqld
$ sudo cat /var/log/mysqld.log | grep 'temporary password'
2019-02-25T14:57:20.965519Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ***
***********の部分が初期パスワードになる
* MySQLの初期背設定を行う
$ mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root: "上記のrootのパスワードを入力"
設定の質問に沿って設定を行う。(すべてYで設定をしました。)
* rootユーザでログインをする
$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 8.0.15 MySQL Community Server - GPL
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
上記で設定したrootパスワードにてログインできた
* 現在作成されているデータベースを表示する
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.01 sec)
* MySQLの設定ファイルの編集
文字コードをUTF-8にする
$ sudo vim /etc/my.cnf
次の設定を追加する
character-set-server = utf8
* 設定を反映する
$ sudo systemctl restart mysqld
* MySQLの自動起動の設定
$ sudo systemctl restart mysqld [menta@localhost ~]$ sudo systemctl enable mysqld [menta@localhost ~]$ sudo systemctl list-unit-files -t service | grep mysqld mysqld.service enabled mysqld@.service disabled
rootユーザでログインして、ユーザを作成する
mysql> create user 'mentabloguser'@'localhost' identified with mysql_native_password by '自分でパスワードを設定する';
Query OK, 0 rows affected (0.02 sec)
mysql> create database wp_mentablog;
Query OK, 1 row affected (0.01 sec)
mysql> grant all privileges on wp_mentablog.* to 'mentabloguser'@'localhost';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
$ yum list | grep wget
wget.x86_64 1.14-18.el7 @base
$ sudo yum install wget
[sudo] menta のパスワード:
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 3.9 kB 00:00:00
* base: ftp.iij.ad.jp
* epel: ftp.riken.jp
* extras: ftp.iij.ad.jp
* remi-safe: ftp.riken.jp
* updates: ftp.iij.ad.jp
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 3.4 kB 00:00:00
mysql-connectors-community | 2.5 kB 00:00:00
mysql-tools-community | 2.5 kB 00:00:00
mysql80-community | 2.5 kB 00:00:00
remi-safe | 3.0 kB 00:00:00
updates | 3.4 kB 00:00:00
epel/x86_64/primary_db FAILED
http://ftp.cuhk.edu.hk/pub/linux/fedora-epel/7/x86_64/repodata/b563d69fa02a70fe2a950c2cead1fbbbfad482d9ade20270afdb712331669e78-primary.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found
他のミラーを試します。
To address this issue please refer to the below wiki article
https://wiki.centos.org/yum-errors
If above article doesn't help to resolve this issue please use https://bugs.centos.org/.
(1/4): updates/7/x86_64/primary_db | 2.4 MB 00:00:00 (2/4): remi-safe/primary_db | 1.4 MB 00:00:01 (3/4): epel/x86_64/updateinfo | 962 kB 00:00:01 (4/4): epel/x86_64/primary_db | 6.6 MB 00:00:05 パッケージ wget-1.14-18.el7.x86_64 はインストール済みか最新バージョンです 何もしません
$ which wget /usr/bin/wget
はじめからインストールされていたようです。
* WordPressのダウンロードファイルを入手する
[WordPressの公式ページ](https://ja.wordpress.org/)から圧縮ファイルのリンクのアドレスをコピーする
$ cd /tmp $ wget https://ja.wordpress.org/wordpress-5.1-ja.tar.gz $ ls -la 合計 11016 drwxrwxrwt. 8 root root 4096 2月 26 13:32 . dr-xr-xr-x. 18 root root 4096 2月 25 14:44 .. drwxrwxrwt. 2 root root 6 7月 16 2015 .ICE-unix drwxrwxrwt. 2 root root 6 7月 16 2015 .Test-unix drwxrwxrwt. 2 root root 6 7月 16 2015 .X11-unix drwxrwxrwt. 2 root root 6 7月 16 2015 .XIM-unix drwxrwxrwt. 2 root root 6 7月 16 2015 .font-unix drwx------ 3 root root 16 2月 26 12:44 systemd-private-ace01bd3cc0d4a169559f89c98a0822b-httpd.service-hfoYu6 -rw-rw-r-- 1 menta menta 11268745 2月 22 01:02 wordpress-5.1-ja.tar.gz
* ダウンロードした圧縮ファイルを展開する
$ sudo tar -zxvf wordpress-5.1-ja.tar.gz -C /var/www/
* 展開したファイルの確認
$ cd /var/www [menta@localhost www]$ ls -la 合計 8 drwxr-xr-x 5 root root 47 2月 26 13:36 . drwxr-xr-x. 21 root root 4096 2月 25 15:57 .. drwxr-xr-x 2 root root 6 11月 5 02:47 cgi-bin drwxr-xr-x 2 root root 22 2月 25 15:36 html drwxr-xr-x 5 1006 1006 4096 2月 22 01:01 wordpress ←このディレクトリにファイルが入っている
* WordPressディレクトリの所有権をApacheにする
[menta@localhost www]$ sudo chown -R apache:apache wordpress/
* Apacheの設定ファイルを編集する
※念の為ファイルのバックアップをとっておく
$ sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
* ファイルの編集をする
$ sudo vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/wordpress" ←ドキュメントルートをWordPressに
#
# <Directory "/var/www/wordpress"> ←ディレクトリをWordPressに AllowOverride None
Require all granted
* Apacheを再起動する
$ sudo systemctl restart httpd
* ブラウザで確認する
<img width="952" alt="2019-02-26 22 00 05" src="https://user-images.githubusercontent.com/40429887/53414419-12c16f80-3a12-11e9-9532-3b77d1f106a2.png">
WordPressの初期設定画面が表示された!
@naoya0408 おめでとうございます!!
次はmenta.meでアクセスできるようにし、https化をしてください! あとはnginx,h2oでの設定ですね。
$ vagrant plugin install vagrant-hostsupdater
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.hostname = "menta.me"
config.vm.network "private_network", ip: "192.168.33.10"
$ vagrant reload
$ openssl genrsa 2048 > server.key
オプションを付けて、2048bitの鍵を作成している
$ openssl req -new -key server.key > server.csr
対話形式で聞かれるため必要なところには入力する(今回はすべて空白で進めました)
$ openssl x509 -req -signkey server.key < server.csr > server.crt
# cd /etc/httpd/conf
# mkdir ssl.crt
# mkdir ssl.key -m 700
/etc/httpd/confの配下にディレクトリを作成する 鍵を入れるディレクトリのパーミッションは700に設定 証明書と秘密鍵をディレクトリに移動する
# mv /home/menta/server.crt /etc/httpd/conf/ssl.crt/
# mv /home/menta/server.key /etc/httpd/conf/ssl.key/
# chmod 400 /etc/httpd/conf/ssl.key/server.key
秘密鍵はオーナーのみ読み書きできるよう権限を変更する
# yum install mod_ssl
追加でインストールをすると /etc/httpd/conf.d/ssl.conf が出来るため、このファイルに設定を書いていく
# vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
秘密鍵へのパスと証明書へのパスを変更する
* Apacheの再起動
* ブラウザで見てみる
* Safari
<img width="1792" alt="2019-02-27 22 15 32" src="https://user-images.githubusercontent.com/40429887/53496268-0528ea00-3ae5-11e9-8ee0-2f2f482c5789.png">
* Chrome
<img width="952" alt="2019-02-27 22 15 55" src="https://user-images.githubusercontent.com/40429887/53496274-08bc7100-3ae5-11e9-8780-8ff5eddeb895.png">
* Firefox
<img width="1392" alt="2019-02-27 22 28 42" src="https://user-images.githubusercontent.com/40429887/53496277-0b1ecb00-3ae5-11e9-8768-8fa626bbe9d0.png">
●わからなかった点
ブラウザで表示が異なるのですがそれはどうしてなのかググってみましたがSSLへの理解が
まだ浅いのかわからない部分が多かったです。
【読んだ記事】
https://www.cresco.co.jp/blog/entry/2704/
https://jp.globalsign.com/blog/articles/self_signed_certificate.html
https://blog.adachin.me/archives/5590 よければhttpsの歴史ブログ書いてるのでぜひ!ブラウザによって異なるのはそこまで考えなくて良いかと。
ありがとうございます! じっくり読んで勉強してみますね。
これからnginxとH2OにもWordPressを構築 していくのですが、 同じLinux環境上で競合せずに動作させていく上で気をつけることはありますか?
@naoya0408 基本apacheはstopしてnginxを上げれば大丈夫です!
$ sudo systemctl stop httpd
$ sudo systemctl start nginx
php-fpmについては以下のサイトを見ました。 https://qiita.com/kotarella1110/items/634f6fafeb33ae0f51dc https://serverkurabe.com/php-cgi-module/
$ sudo yum install --enablerepo=epel,remi-php73 php-fpm
$ sudo cd /etc/php-fpm.d/
$ sudo cp -p www.conf www.conf.org #バックアップファイルの作成
$ sudo vim www.conf
下記の部分の変更を行う
# 変更前
user = apache
group = apache
user = nginx group = nginx
* php-fpmの起動
$ sudo systemctl start php-fpm
* 自動起動の設定
$ sudo systemctl enable php-fpm
### nginxの設定
/etc/nginx/conf.d配下に設定ファイルを作成
nginx.confの "include /etc/nginx/conf.d/*.conf;" にて読み込まれる
$ sudo cd /etc/nginx/conf.d $ sudo vim menta.me.conf
server { listen 80; server_name menta.me; root /usr/share/nginx/blog/wordpress; index index.php;
charset utf-8;
try_files $uri $uri/ /index.php?q=$uri&$args;
location ~* /wp-config.php { deny all; }
location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; include fastcgi_params; } }
* 設定の確認
$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
* nginxの再起動
$ sudo systemctl restart nginx
### WordPress用の設定
* nginxの設定ファイルに記述したドキュメントルートにWordPressのファイルを展開する
$ ls -la /usr/share/nginx/blog/ 合計 4 drwxr-xr-x 3 nginx nginx 22 3月 3 08:29 . drwxr-xr-x 5 root root 42 3月 3 08:16 .. drwxr-xr-x 5 nginx nginx 4096 3月 3 11:06 wordpress ←今回はこちらにファイルを置きます
* フォルダの中に、「wordpress」の設定ファイルのサンプルである「wp-config-sample.php」があるので、これをコピーして「wp-config.php」を作成し、設定を行う
$ sudo cp -p wp-config-sample.php wp-config.php $ sudo vim wp-config.php
// MySQL 設定 - この情報はホスティング先から入手してください。 // /* WordPress のためのデータベース名 / define('DB_NAME', 'wp_mentablog');
/* MySQL データベースのユーザー名 / define('DB_USER', 'mentabloguser');
/* MySQL データベースのパスワード / define('DB_PASSWORD', '**');
/* MySQL のホスト名 / define('DB_HOST', 'localhost');
/* データベースのテーブルを作成する際のデータベースの文字セット / define('DB_CHARSET', 'utf8mb4');
/* データベースの照合順序 (ほとんどの場合変更する必要はありません) / define('DB_COLLATE', '');
※Apacheで作ったWordPressを表示させるため同じMySQLの設定にしました
### ブラウザで確認する
<img width="1792" alt="2019-03-04 22 30 58" src="https://user-images.githubusercontent.com/40429887/53736491-3b8fac00-3ecd-11e9-8505-1438b25031be.png">
参考にしたサイト
https://www.server-memo.net/memo/wordpress/nginx-install.html#nginx-5
秘密鍵の置き場所
$ sudo tree /etc/nginx/ [sudo] menta のパスワード: /etc/nginx/ ├── conf.d │ └── menta.me.conf ├── default.d ├── fastcgi.conf ├── fastcgi.conf.default ├── fastcgi_params ├── fastcgi_params.default ├── koi-utf ├── koi-win ├── mime.types ├── mime.types.default ├── nginx.conf ├── nginx.conf.default ├── nginx.conf.org ├── scgi_params ├── scgi_params.default ├── ssl.crt │ └── server.crt ←ここに証明書 ├── ssl.key │ └── server.key ←ここに秘密鍵 ├── uwsgi_params ├── uwsgi_params.default └── win-utf
* nginxの設定ファイルを変更する
下記の設定を追記する
$ sudo vim /etc/nginx/conf.d/menta.me.conf
server { listen 443 ssl; server_name menta.me; root /usr/share/nginx/blog/wordpress; index index.php;
charset utf-8;
ssl_certificate /etc/nginx/ssl.crt/server.crt; ssl_certificate_key /etc/nginx/ssl.key/server.key;
try_files $uri $uri/ /index.php?q=$uri&$args;
location ~* /wp-config.php { deny all; }
location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; include fastcgi_params; } }
* nginxをリロードする
$ sudo systemctl restart nginx
* ブラウザで確認する
<img width="952" alt="2019-03-06 1 31 00" src="https://user-images.githubusercontent.com/40429887/53820668-93064880-3faf-11e9-9323-61b2587032d1.png">
httpsでアクセスできた!
@naoya0408 お疲れ様です! すばらしいです!設定等問題ないと思います! ではクローズします👍
参考にしたサイト http://blog.kazuhooku.com/2015/06/h2ophpmodrewrite.html https://blog.adachin.me/archives/6260
$ sudo systemctl stop nginx
$ sudo systemctl start h2o
構成は以下のようにしました。
# tree /etc/h2o/
/etc/h2o/
├── conf.d
│ └── menta.me.conf
├── h2o.conf
├── h2o.conf.org
├── server.crt
└── server.key
user: h2o
pid-file: /var/run/h2o/h2o.pid
file.custom-handler: extension: .php fastcgi.spawn: "PHP_FCGI_CHILDREN=10 exec /usr/bin/php-cgi"
file.index: [ 'index.html', 'index.php' ]
hosts: <<: !file /etc/h2o/conf.d/menta.me.conf
error-log: /var/log/h2o/all-virtual.error.log
* /etc/h2o/conf.d/menta.me.confの設定
"menta.me:80": listen: port: 80 paths: "/": redirect: https://menta.me "menta.me:443": listen: port: 443 ssl: certificate-file: /etc/h2o/server.crt key-file: /etc/h2o/server.key paths: "/": file.dir: /var/www/wordpress redirect: url: /index.php/ internal: YES status: 307 access-log: /var/log/h2o/menta.me.access.log
設定をリロードしてブラウザで確認します。
<img width="952" alt="スクリーンショット 2019-03-09 23 17 27" src="https://user-images.githubusercontent.com/40429887/54072691-aa03ae00-42c1-11e9-8806-8d5c1df3f911.png">
phpを繋げるfile.custom-handlerの設定なのですが、 安達さんの設定を真似してみて以下のようにしたのですがなぜか動かなかったです。。
file.custom-handler:
extension: .php
fastcgi.connect:
port: /var/run/php/php-fpm.sock
type: unix
php-fpmの設定も変えてみたのですが、 何が原因なのでしょうか?
www.confの設定で変えたのは以下の部分です。
user = apache
group = apache
↓
user = h2o
group = h2o
listen = 127.0.0.1:9000
↓
listen = /var/run/php/php-fpm.sock
;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0660
↓
listen.owner = h2o
listen.group = h2o
listen.mode = 0660
んー繋がらない時のログなどを貼ってもらえますか?? うまくいかないのはh2oがそもそも動いているか、いないかの切り分けを調査しましょう。
遅れてすみません。以下ログになります。 /var/log/h2o/all-virtual.error.log
starting new worker 5394
[INFO] raised RLIMIT_NOFILE to 65536
h2o server (pid:5394) is ready to serve requests
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
[lib/handler/fastcgi.c] in request:/:connection failed:failed to connect to host
# systemctl status php-fpm.service
● php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since 日 2019-03-10 20:06:18 JST; 1min 14s ago
Process: 5608 ExecStart=/usr/sbin/php-fpm --nodaemonize (code=exited, status=78)
Main PID: 5608 (code=exited, status=78)
3月 10 20:06:18 menta.me systemd[1]: Starting The PHP FastCGI Process Manager...
3月 10 20:06:18 menta.me php-fpm[5608]: [10-Mar-2019 20:06:18] ERROR: unable to bind ...2)
3月 10 20:06:18 menta.me php-fpm[5608]: [10-Mar-2019 20:06:18] ERROR: FPM initializat...ed
3月 10 20:06:18 menta.me systemd[1]: php-fpm.service: main process exited, code=exit...n/a
3月 10 20:06:18 menta.me systemd[1]: Failed to start The PHP FastCGI Process Manager.
3月 10 20:06:18 menta.me systemd[1]: Unit php-fpm.service entered failed state.
3月 10 20:06:18 menta.me systemd[1]: php-fpm.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
@naoya0408 ちょっとビデオ通話で見てみるしかないですね〜
@RVIRUS0817 お時間があるときで良いので教えていただけるとありがたいです。。