とりあえず動かしてみよう
インストール
その場のノリでいける。最後のインストールパックは何もチェックせずに終える。
DHCPを固定IPに
sudo vi /etc/network/interfaces
eth0の部分を以下のように書き換え
# The primary network interface auto eth0 iface eth0 inet static dhcp →static に変更 address 192.168.1.100 netmask 255.255.255.0 network 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1
特につまづいたのはdns-nameserversの部分。なんか12.04から明示的に書かなきゃいけなくなったぽい?
設定反映
sudo /etc/init.d/networking restart
ファイアウォールの設定
sudo ufw enable
sudo ufw default DENY
sudo ufw allow 80/tcp
sudo ufw allow 3843/tcp
sudo ufw allow 3306/tcp
設定後、要再起動
SSHの設定
インストール
sudo apt-get install openssh-server
初期設定をしておく
sudo vi /etc/ssh/sshd_config
ポート番号は通常22だが変えておく
#Port 22 Port 3843
rootで直接ログイン出来ないようにyesをnoに変更
PermitRootLogin no
設定反映
sudo service ssh restart
Apacheの設定
インストール
sudo apt-get install apache2
各種設定変更
sudo vi /etc/apache2/conf.d/security
- ServerTokens OS→Prod
- ServerSignature On→Off
sudo vi /etc/apache2/sites-available/default
- Options Indexes FollowSymLinks MultiViews → Options FollowSymLinks MultiViews
(10行目のIndexesを削除)
- AllowOverride None→All
sudo vi /etc/apache2/apache2.conf
ログ関係の設定項目を以下に書き換え
これでローカルホスト内からのアクセスはログに記録されない
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined SetEnvIf Remote_Addr 192.168.1. no_log SetEnvIf Remote_Addr 127.0.0.1. no_log CustomLog ${APACHE_LOG_DIR}/access.log combined env=!no_log
- ServerName hogehoge.com //末尾に追記
設定を反映
sudo /etc/init.d/apache2 restart
公開用ディレクトリ(var/www)のパーミッションを変えておく
sudo chown -R ユーザー名 /var/www/
sudo chmod 755 /var/www/
バーチャルホストを利用する場合
/etc/apache2/apache2.confからエラーログ項目以外のログ設定項目とServerName項目を削除。
各ホスト名は/etc/apache2/sites-availableに記述する
例
sudo vi /etc/apache2/sites-available/hogehoge
<VirtualHost *:80> ServerName hogehoge.com ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /var/www/> Options None AllowOverride All </Directory> LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined SetEnvIf Remote_Addr 192.168.1. no_log SetEnvIf Remote_Addr 127.0.0.1. no_log SetEnvIf User-Agent "^.*mirall.*$" no_log SetEnvIf User-Agent "^.*csyncoC.*$" no_log SetEnvIf Request_URI "\.(jpg|png|gif|css|js|ico)$" no_log CustomLog ${APACHE_LOG_DIR}/access.log combined env=!no_log LogLevel warn ErrorLog ${APACHE_LOG_DIR}/error.log </VirtualHost>
最後におまじないかけないと有効化されないので注意
sudo a2ensite /etc/apache2/sites-available/hogehoge
設定後Apache2要再起動
PHPの設定
インストール
sudo apt-get install php5 libapache2-mod-php5
各種設定変更
sudo vi /etc/php5/apache2/php.ini
変更した設定項目はこいつら
MySQLの設定
インストール
インストールの途中でrootに対するパスワード設定を求められるので入れておく
文字コードを全てUTF-8に変更する
sudo vi /etc/mysql/my.cnf
以下を追記
[client] default-character-set=utf8 [mysqld] skip-character-set-client-handshake character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8
設定反映
sudo /etc/init.d/mysql restart
ログインして確認
mysql -u root -p
ちゃんとエンコード設定できているか確認しておくと吉
show variables like 'character_set%';
WordPressのインストール
実質PHPとMySQLの動作確認のため
zipを解凍できるようにしておく
sudo apt-get install unzip
FTP使うなどして、ここからWordpress本体をDLして/var/www下に配置
cd /var/www
unzip wordpress-3.8-ja.zip
sudo mv wordpress blog
次にあらかじめMySQL側でデータベースを作っておく
mysql> CREATE DATABASE wp;
最後にwp-config.phpを編集する
以下の2つを編集
/** WordPress のためのデータベース名 */ define('DB_NAME', 'database_name_here'); /** MySQL データベースのユーザー名 */ define('DB_USER', 'username_here'); /** MySQL データベースのパスワード */ define('DB_PASSWORD', 'password_here');
define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here');
キーの生成にはhttp://api.wordpress.org/secret-key/1.1/salt/使うと便利
最後に./blogにアクセスして初期設定するばおk
owncloudの導入
以前使った時よりもかなり進化してて驚いた
インストールはなんとapt-getで可能(ただし12.04だとupdate必要っぽい?)
apt-get update
apt-get install owncloud
あとは予めowncloud用のデータベースを作成しておき、./owncloudにアクセスすれば初期設定できる。以上。