LoginSignup
6
6

More than 5 years have passed since last update.

さくらのVPS(CentOS7)でLAMP(mariaDB,PHP5.6)を構成しよう。

Last updated at Posted at 2015-10-11

手元にあるMacPCを使って説明します。
windowsの方でもTeraTermなどを使ってSSH接続して作業できます。

さくらのVPSにCentOS7をインストールするところは、googleなどで検索すれば出てきます。
私はさくらのVPSのサポート情報を参考にさせていただきました。

 初期設定

さくらのVPSのコントロールパネル内にあるコンソールを使ってもいいのですが、ここではSSH接続,公開鍵でのSSHで接続していきます。

ターミナルを起動し
ローカル側の ~/.ssh/known_hosts
にサーバのIPアドレスが書かれていないことを確認。書かれている場合はその行を消去する。

$ ssh root@サーバーIPアドレス
rootのパスワードを入力するとSSH接続できます

アップデートとvimの設定

$ yum update
$ yum -y install vim-enhanced
~/.vimrc
set nocompatible
set history=50
set ignorecase
set smartcase
set hlsearch
set number
set wrap
set encoding=utf-8
set fileencodings=utf-8
set fileformats=unix,dos,mac
syntax on

一般ユーザー追加

$ useradd 'ユーザー名'
$ passwd 'ユーザー名'

このユーザのパスワードを設定し、確認のためもう一回パスワードを入力

$ usermod -G wheel 'ユーザー名'
ユーザにwheelグループに加える。

wheelグループにsudoの権限を与える。

$ visudo
## Allows people in group wheel to run all commands
# %wheel  ALL=(ALL)       ALL
↓ コメントアウト外す
%wheel  ALL=(ALL)       ALL

・SELINUX

setenforce で無効にします。
$ setenforce 0

getenforceで無効を確認します。
$ getenforce
Permissive

リブート時も無効
$ vim /etc/sysconfig/selinux
...
'#SELINUX=enforcing'
SELINUX=disabled

本当はSElinuxの設定をするべきなのですが、設定が難しいため無効にしました。その代わりFirewallの設定をきちんとします。

Firewallの設定

現在利用可能なサービス(ポート)を確認します。

$ firewall-cmd --list-services
dhcpv6-client ssh

↑ デフォルトでは、dhcpv6-client ssh のみが有効になっています。

現在利用可能なポートを確認します。

$ firewall-cmd --list-ports

↑ デフォルトでは、何も設定されていません。

ウェブサーバーのサービス(ポート)を開きます。

$ firewall-cmd --add-service=http
success

ウェブサーバーのサービス(ポート)を再起動しても開くように設定します。

$ firewall-cmd --permanent --add-service=http
success

SSHサーバーのポートを開きます。

$ firewall-cmd --add-port=ポート番号/tcp
success

SSHサーバーのポートを再起動しても開くように設定します。

$ firewall-cmd --permanent --add-port=ポート番号/tcp
success

古いSSHサーバーのサービス(ポート)を閉じます。

$ firewall-cmd --remove-service=ssh
success

古いSSHサーバーのサービス(ポート)を再起動しても閉じるように設定します。

$ firewall-cmd --permanent --remove-service=ssh
success

現在利用可能なサービス(ポート)を確認します。

$ firewall-cmd --list-services
dhcpv6-client http

↑ http が追加され、sshが削除されていることを確認します。

現在利用可能なポートを確認します。

$ firewall-cmd --list-ports
ポート番号/tcp

↑ SSHの新しいポートが追加されていることを確認します。

SSHの設定

/etc/ssh/sshd_config
#ポート設定(10000番台以上で適当に)
Port 'ポート番号'

#SSH2 
Protocol 2 

#ルートログイン設定
PermitRootLogin no

#鍵認証設定
RSAAuthentication yes
PubkeyAuthentication yes

#パスワードでのログイン(公開鍵でやるならNo)
PasswordAuthentication yes
#パスワード無しでのログイン
PermitEmptyPasswords no

変更が終わった後
設定を反映させるために
$ systemctl restart sshd.service

FirewallにPootの設定をした後、
ここで今開いているターミナル以外に、ターミナルを一つ起動させる。
そのターミナルで先程作ったユーザでSSH接続する。

$ ssh -p ポート番号 ユーザー名@サーバーIPアドレス

接続できたら完了

公開鍵によるSSH認証

サーバー側(作ったユーザでログイン)で設定
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh

ローカル側で
$ ssh-keygen -t rsa
パスフレーズを決め入力する。(忘れないように)
すると ~/.ssh 以下にid_rsa id_rsa.pubが生成される。

ログイン簡略化
$ cd ~/.ssh
$ mkdir sakura
$ mv id_rsa sakura

~/.ssh/config
Host sakura
        HostName サーバーIP
        User ユーザー名
        Port ポート番号
        IdentityFile ~/.ssh/sakura/id_rsa

パーミッションを変更
$ chmod 600 id_rsa.pub

$ scp -P ポート番号 ~/.ssh/id_rsa.pub ユーザー名@サーバーIP:~/.ssh/authorized_keys

作業しているターミナル以外にターミナルを起動させ ssh sakuraと入力し接続できたら完了

Apache、PHP5.6 MariaDB,phpMyadminのインストール

Apache導入と起動(現在バージョン2.46)

$ yum -y install httpd
$ systemctl start httpd.service
$ systemctl enable httpd.service

ブラウザでサーバーIPをアドレスバーに入力して起動しているか確認

PHP5.6導入

epel,remiレポジトリ

$ yum -y install epel-release
$ yum -y install wget
$ wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
$ rpm -Uvh remi-release-7.rpm

PHP5.6,apacheインストール

$ yum -y install --enablerepo=remi,remi-php56 httpd php
すでにApacheを入れている場合はhttpdを入力しない。間違って入力しても大丈夫です。

PHPが入っているのか確認

$ php -v

systemctl restart httpd
vi /var/www/html/index.php
<?php phpinfo(); ?>を入力し確認しよう

mariadb mariadb-server をインストールします。

$ yum -y install mariadb mariadb-server
$ mysql --version

mariadb のデーモン(サービス)を起動します。

$ systemctl start mariadb.service

次に、mariadbデーモンがブート時に自動起動するように設定しておきます。

$ systemctl enable mariadb.service

(MariaDBにrootでログイン)
mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 14
Server version: 5.5.37-MariaDB MariaDB Server

Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

(データベースwordpressを作成)
MariaDB [(none)]> create database データベース名;

MariaDB [(none)]> grant all privileges on データベース名.* to データベースユーザ名@localhost identified by 'パスワード';

(データベースwordpressが作成されたことを確認)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| wordpress |
+--------------------+
5 rows in set (0.06 sec)

phpmyadminの導入と設定

yum install -y --enablerepo=remi,remi-php56 phpMyAdmin

mv /etc/phpMyAdmin/config.inc.php /usr/share/phpMyAdmin

/etc/htpd/conf.d/phpMyAdmin.conf

Aliasの部分を変更してみよう

<IfModule mod_authz_core.c>

Apache 2.4
Require local
Require all granted

WordPressインストール

$ wget https://ja.wordpress.org/wordpress-4.3.1-ja.zip
$ unzip wordpress-4.3.1-ja.zip
$ ls -l    
$ rm -rf wordpress-4.3.1-ja.zip
$ mv wordpress /var/www/html
$ chown -R apache:apache wordpress

ブラウザーのアドレスバーにサーバーIP/wordpressと入力し設定画面が出ればOK

バーチャルホストの設定

cd /etc/httpd/conf.d

vim wordpress.conf

wordpress.conf
NameVirtualHost *:80

<VirtualHost *:80>
    ServerName   ホスト名
    DocumentRoot /var/www/http/wordpress

    LogLevel  warn
    ErrorLog  logs/error_log
    CustomLog logs/access_log combined

    <Directory /var/www/http/wordpress>
        Options FollowSymLinks
        AllowOverride All
    </Directory>
</VirtualHost>

DNSの設定はgoogleで検索してください。

6
6
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
6
6