Home > Debian | UNIX > [Debian]Debian lennyで1からサーバーを作ってみる – PHP、MySQL、PostgreSQLをインストール
[Debian]Debian lennyで1からサーバーを作ってみる – PHP、MySQL、PostgreSQLをインストール
- PHP、MySQL、PostgreSQLをインストール。(mysqlインストール時に、案内に従ってパスワードを設定する。)
# aptitude install php5 php5-dev php5-cgi php5-cli php-pear php5-curl php5-gd php5-imagick php5-json php5-mcrypt php5-mysql php5-pgsql php5-sqlite php5-geoip phpmyadmin phppgadmin mysql-server mysql-client postgresql libapache2-mod-php5
- /etc/cron.d/php5を編集。
phpをインストールすると、30分ごとにセッション破棄を行うcronが動作するようになるので1日1回(毎朝6時)だけ動くように変更する。
# vi /etc/cron.d/php5
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm
↓
0 6 * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 20 0 -r -0 rm
- MySQL設定。
- /etc/mysql/my.cnfを編集
# vi /etc/mysql/my.cnf
##[mysqld]の項目へ追加
character-set-server = utf8
collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
skip-character-set-client-handshake
##[mysqldump]の項目へ追加
default-character-set = utf8
##[mysql]の項目へ追加
default-character-set = utf8
- MySQL再起動
# /etc/init.d/mysql restart
- mysqlへ接続出来るか確認。(インストール時にパスワード設定するとパスワード無しでのログインは出来ない。)
# mysql -u root -p
- 登録済みユーザーとパスワードを確認。(パスワード無しユーザーが居ないか確認。)
mysql> select user,host,password from mysql.user;
- ※もしパスワード無しユーザーが居た場合は以下で設定。
mysql> set password for ユーザー名@ホスト名=password('パスワード');
mysql> exit
- MySQLバックアップ設定
- MySQLバックアップスクリプト作成
# vi mysql-backup.sh
#!/bin/bash
PATH=/usr/local/sbin:/usr/bin:/bin
# バックアップ先ディレクトリ
BACKDIR=/backup/mysql
# MySQLrootパスワード
ROOTPASS=******
# バックアップ先ディレクトリ再作成
rm -rf $BACKDIR
mkdir -p $BACKDIR
# データベース名取得
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
# データベースごとにバックアップ
for dbname in $DBLIST
do
table_count=`mysql -u root -p$ROOTPASS -B -e "show tables" $dbname|wc -l`
[ $table_count -ne 0 ] &&
mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done
- バックアップ先作成
# mkdir /backup
# mkdir /backup/mysql
- mysql-backup.shへ実行権を付与。
# chmod 700 mysql-backup.sh
- バックアップスクリプト実行
# ./mysql-backup.sh
- バックアップ確認。
# ls -la /backup/mysql
- cronへ登録
# crontab -e
0 5 * * * /root/mysql-backup.sh
- phpmyadmin設定
- シンボリックリンクを作成。
# ln -s /usr/share/phpmyadmin /var/www/admin/
- ブラウザで「http://admin.サーバー名/phpmyadmin」へアクセスする。
- PostgreSQL設定
- postgresユーザーのパスワードを設定。
# passwd postgres
# su postgres
$ psql template1
template1=# alter user postgres with password '******'; ← ******は適当なパスワードを設定。
template1=# \q
- 一般ユーザへのデータベース作成権限設定。(hogeは適当な一般ユーザーへ)
$ createuser -AdPE hoge
- /etc/postgresql/8.3/main/postgresql.confを編集
$ vi /etc/postgresql/8.3/main/postgresql.conf
listen_addresses = 'localhost'
↓
listen_addresses = '*'
- /etc/postgresql/8.3/main/pg_hba.confを編集。(↓こんな感じで。192.168.0.1は各自ネットワーク環境へ。)
$ vi /etc/postgresql/8.3/main/pg_hba.conf
# Database administrative login by UNIX sockets
#local all postgres ident sameuser
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
#local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
local all all trust
host all all 192.168.0.1 255.255.255.255 trust
host all all 0.0.0.0 0.0.0.0 password crypt
- PostgreSQL再起動
$ exit
# /etc/init.d/postgresql-8.3 restart
- PostgreSQLのチューニングは[PostgreSQL]PostgreSQLチューニング方法まとめサイト[Ubuntu]を参照して各自で勝手にやってね。
- PostgreSQLバックアップ設定
# su - postgres
$ mkdir /var/lib/postgresql/8.3/main/backups/
$ pg_dumpall -c > /var/lib/postgresql/8.3/main/backups/pgsql-backup
$ crontab -e
30 3 * * * pg_dumpall -c > /var/lib/postgresql/8.3/main/backups/pgsql-backup
$ exit
- phppgadmin設定
- シンボリックリンクを作成
# ln -s /usr/share/phppgadmin /var/www/admin/
- /etc/phppgadmin/config.inc.phpを編集
# vi /etc/phppgadmin/config.inc.php
$conf['extra_login_security'] = true;
↓
$conf['extra_login_security'] = false;
$conf['owned_only'] = false;
↓
$conf['owned_only'] = true;
- /etc/phppgadmin/apache.confを編集
# vi /etc/phppgadmin/apache.conf
allow from 127.0.0.0/255.0.0.0 ::1/128
↓
#allow from 127.0.0.0/255.0.0.0 ::1/128
#allow from all
↓
allow from all
- apache再起動
# /etc/init.d/apache2 restart
- ブラウザで「http://admin.サーバー名/phppgadmin」へアクセスする。
Home > Debian | UNIX > [Debian]Debian lennyで1からサーバーを作ってみる – PHP、MySQL、PostgreSQLをインストール