Ubuntu環境構築
UbuntuのOSは入っている前提で
SELinuxオフ
1 2 3 4 |
$ vi /etc/selinux/config - SELINUX=enforcing + SELINUX=disabled |
アップデート・アップグレード
1 2 3 |
$ sudo apt-get update $ sudo apt-get upgrade |
Webサーバー
apache2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ apt-get -y install apache2 root@www:~# vi /etc/apache2/conf-enabled/security.conf # 25行目:変更 ServerTokens Prod $ vi /etc/apache2/mods-enabled/dir.conf # 2行目:ディレクトリ名のみでアクセスできるファイル名を設定 DirectoryIndex index.html index.htm $ vi /etc/apache2/apache2.conf # 70行目:サーバー名追記 ServerName xxx.xxx.xxx $ vi /etc/apache2/sites-enabled/000-default.conf # 11行目:管理者アドレス変更 ServerAdmin xxx@xxx.xxx + <Directory /var/www/html> + Options FollowSymLinks + AllowOverride all + </Directory> $ a2enmod rewrite $ systemctl restart apache2 |
https も使うなら SSL のモジュールを有効にする。
1 2 3 4 5 6 7 8 9 10 11 12 |
$ sudo a2enmod ssl $ sudo a2ensite default-ssl $ vi /etc/apache2/sites-available/default-ssl.conf + ServerName localhost:443 DocumentRoot /var/www/html : + <Directory /var/www/html> ← .htaccess とか使うならこれも必要 + Options FollowSymLinks + AllowOverride all + </Directory> $ sudo service apache2 restart |
ファイヤーウォール設定
1 2 3 4 5 |
$ ufw status $ ufw allow to any port 80 $ ufw allow to any port 443 ← https も使うなら設定する。 $ ufw reload |
DB
MySQL
インストール
1 2 3 4 5 6 |
$ sudo apt-get install mysql-server # 途中で root のパスワードを聞いてくるので入力して控えておく $ systemctl enable mysql $ systemctl start mysql $ mysql_secure_installation |
ユーザ作成
1 2 3 4 5 6 7 8 9 |
$ mysql -p Enter password: mysql> CREATE USER ユーザ名; mysql> CREATE USER user IDENTIFIED BY [PASSWORD] ‘パスワード’; MySQL> CREATE DATABASE DB名 CHARACTER SET utf8; MySQL> GRANT ALL ON DB名.* to ユーザ名; MySQL> FLUSH PRIVILEGES; mysql> \q |
PHP7
リポジトリインストール
PHP 7.0 インストール
1 2 3 4 5 |
$ sudo apt-get install php7.0 php7.0-opcache php7.0-mbstring php7.0-xml php7.0-gd php7.0-mysqli php7.0-zip php7.0-curl $ sudo apt-get install libapache2-mod-php7.0 $ a2enmod php7.0 $ systemctl restart apache2 |
トラシュー
Composer で
Composer で何かやろうとしたとき以下の様なエラーが出る
1 2 3 4 |
[Composer\Downloader\TransportException] The "http://packagist.org/p/provider-2017-07%248509dd1d7587d7cde6c580bdbac4c49c3f3b373f243c953dfce84ed8916a4c5a .json" file could not be downloaded (HTTP/1.1 404 Not Found) |
diag を実行するとどこでエラーかわかるので、見てみると pubkeys でエラーになっていた。
1 2 3 4 5 6 7 |
$ composer diag : Checking pubkeys: FAIL Missing pubkey for tags verification Missing pubkey for dev verification Run composer self-update --update-keys to set them up |
こんなときは pubkey を入れなおす。update-keys を実行すると以下の様に聞いてくるので
1 2 3 4 |
$ composer self-update --update-keys Enter Dev / Snapshot Public Key (including lines with -----): Enter Tags Public Key (including lines with -----): |
https://composer.github.io/pubkeys.html の —–BEGIN PUBLIC KEY—– から —–END PUBLIC KEY—– までを全て入力する。
GPGエラー
apt-get update で以下の様なエラーが出る場合
1 2 |
W: GPG エラー: http://ftp.debian.org jessie-backports InRelease: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010 |
1 2 3 |
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553 $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010 |
の様にキーを追加してやる。debian.org とかあるけれど keyserver.ubuntu.com で良いらしい。