さくらVPSにWordPressをインストールする

phpをインストールする.

$ sudo yum install -y php php-devel php-mbstring php-mysql php-pdo php-xmlphp-gd

WordPressで使うデータベースとMySQLのユーザを作成する.

$ mysql -u username -p
> create database wordpress default character set utf8;
> grant all privileges on wordpress.* to wpuser@localhost identified by 'password';
> flush privileges;

WordPressをインストールする.

$ cd /var/wwww/html
$ wget http://wordpress.org/latest.tar.gz #ダウンロードする
$ tar -xzvf latest.tar.gz 
$ sudo chown apache:apache -R wordpress #権限を変更する

Apacheの設定を変更する.

$ sudo vim /etc/httpd/conf.d/wordpress.conf
<Directory "/var/www/html/wordpress">
AllowOverride All
</Directory>

httpdを再起動する.

$ sudo service httpd restart

http://domain/wordpresにアクセスすると設定画面が表れる.

参考

さくらVPSにMySQLのインストールする

MySQLをインストールする.

$ sudo yum install mysql-sercer 
$ sudo /sbin/chkconfig mysqld on #自動起動をオンにする

設定ファイルを編集する.

$ sudo vim /etc/my.conf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

default-character-est=utf8 #追記

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-est=utf8 #追記

[mysql]
default-character-est=utf8 #追記

[mysqldump]
default-character-est=utf8 #追記

起動する.

$ sudo service mysqld start

セキュリティ設定をする.

$ sudo mysql_secure_installation

MySQLにrootでログインする.

$ mysql -u root -p

さくらVPSでFTPが使えるようにする

vsftpdのインストール

vsftpdをインストールする.

$ sudo yum install vsftpd
$ sudo /sbin/chkconfig vsftpd on #自動起動をオン

設定ファイルを編集する.

$ sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.org
$ sudo vim /etc/vsftpd/vsftpd.conf

以下のように記述を変更する.

#anonymous_enable=YES
anonymous_enable=NO #不特定多数のユーザからのアクセスを拒否する

#ascii_upload_enable=YES
ascii_upload_enable=YES #アスキーモードのアップロードを許可する
#ascii_download_enable=YES
ascii_download_enable=YES #アスキーモードのダウンロードを許可する

#ftpd_banner=Welcome to blah FTP service.
ftpd_banner=Welcome to blah FTP service. #シグニチャを隠蔽する

#chroot_local_user=YES
chroot_local_user=YES #許可したユーザ以外のホームディレクトリより上層へのアクセスを禁止する.
#chroot_list_enable=YES
chroot_list_enable=YES #ホームディレクトリより上層へアクセスできるユーザリストを有効にする

#ls_recurse_enable=YES
ls_recurse_enable=YES #ディレクトリの削除を許可する

#以下,追記
userlist_enable=YES #許可するユーザのみをuserlist_fileで指定する
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
local_root=/var/www/html #ホームディレクトリを指定する
use_localtime=YES #タイムスタンプに現地時間を用いる

ホームディレクトリより上層へアクセス可能なユーザリストを作成する.

$ sudo vim /etc/vsftpd/chroot_list #usernameを追加する

ftpでアクセス可能なユーザリストを作成する.

$ sudo vim /etc/vsftpd/user_list #usernameを追加する

ルートディレクトリの所有者を変更する.

$ sudo chown -R username:username /var/www/html

ファイアーウォールの設定を変更してftpのポート(21番)を空ける

$ sudo vim /etc/sysconfig/iptables #編集
$ sudo service iptables restart #再起動

vsftpdを起動する.

$ sudo /etc/rc.d/init.d/vsftpd start #起動

アクセスできるかクライアント側からチェックする.

$ ftp username@IPadress

参考

さくらVPSにApacheをインストールする

Apacheのインストール

httpdをインストールする.

sudo yum install httpd
sudo /sbin/chkconfig httpd on #自動起動を設定

設定ファイルを編集する.

sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org #オリジナルを保存
sudo vim /etc/httpd/conf/httpd.conf #設定ファイルを編集

以下のように記述を変更する.

#ServerTokens OS
ServerTokens Prod #HTTPヘッダーで与える情報を最小限にする

#KeepAlive Off
KeepAlive On #クライアントとのセッションを保持する

#ServerAdmin root@localhost
ServerAdmin name@samle.com #サーバエラーの際に表示されるメールアドレスを指定する

#ServerName www.example.com:80
ServerName sample.com:80 #サーバが使用するサーバ名とポート番号を指定する

#ServerSignature On
ServerSignature Off #エラーの際にフッターラインを表示させない

httpdを起動する.

sudo service httpd start #起動 

ブラウザでApacheのテストページが表示されるかチェックする.

参考

さくらVPSにpythonをインストールする

さくらVPSCentOSに入っているpythonのバージョンが2.6.6だったので,最新版の2.7.4を入れる.

$ sudo yum groupinstall "Development Tools"
$ sudo yum install zlib zlib-devel tk-devel tcl-devel sqlite-devel ncurses-devel gdbm-devel readline-devel bzip2-devel db4-devel openssl-devel
$ wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
$ tar -zvxf Python-2.7.9.tgz 

mod_wsgiを使いたいので,--enabled-sharedを指定する.

$ cd Python-2.7.9
$ ./configure --enable-shared
$ make

実行するとエラーが出る.

$ python -V
python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

対処するためにシンボリックリンクを貼る.

$sudo ln /usr/local/lib/libpython2.7.so.1.0 /lib64/

これで大丈夫なはず.

$ python -V
Python 2.7.9

パッケージ管理のためにpipをインストールする.

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py

[参考]

pythonでWebサーバを簡単にたてる

自分の作ったものを簡単に確認したいときに便利.

これでローカルファイルセキュリティを回避できる.

$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

http://localhost:8000にアクセス.