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設定。
    1. /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
      
    2. MySQL再起動
      # /etc/init.d/mysql restart
      
    3. mysqlへ接続出来るか確認。(インストール時にパスワード設定するとパスワード無しでのログインは出来ない。)
      # mysql -u root -p
      
    4. 登録済みユーザーとパスワードを確認。(パスワード無しユーザーが居ないか確認。)
      mysql> select user,host,password from mysql.user;
      
    5. ※もしパスワード無しユーザーが居た場合は以下で設定。
      mysql> set password for ユーザー名@ホスト名=password('パスワード');
      mysql> exit
      
  • MySQLバックアップ設定
    1. 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
      
    2. バックアップ先作成
      # mkdir /backup
      # mkdir /backup/mysql
      
    3. mysql-backup.shへ実行権を付与。
      # chmod 700 mysql-backup.sh
      
    4. バックアップスクリプト実行
      # ./mysql-backup.sh
      
    5. バックアップ確認。
      # ls -la /backup/mysql
      
    6. cronへ登録
      # crontab -e
      
      0 5 * * * /root/mysql-backup.sh
      
  • phpmyadmin設定
    1. シンボリックリンクを作成。
      # ln -s /usr/share/phpmyadmin /var/www/admin/
      
    2. ブラウザで「http://admin.サーバー名/phpmyadmin」へアクセスする。
  • PostgreSQL設定
    1. postgresユーザーのパスワードを設定。
      # passwd postgres
      # su postgres
      $ psql template1
      template1=# alter user postgres with password '******'; ← ******は適当なパスワードを設定。
      template1=# \q
      
    2. 一般ユーザへのデータベース作成権限設定。(hogeは適当な一般ユーザーへ)
      $ createuser -AdPE hoge
      
    3. /etc/postgresql/8.3/main/postgresql.confを編集
      $ vi /etc/postgresql/8.3/main/postgresql.conf
      
      listen_addresses = 'localhost'
      ↓
      listen_addresses = '*'
      
    4. /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
      
    5. PostgreSQL再起動
      $ exit
      # /etc/init.d/postgresql-8.3 restart
      
    6. 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設定
    1. シンボリックリンクを作成
      # ln -s /usr/share/phppgadmin /var/www/admin/
      
    2. /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;
      
    3. /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
      
    4. apache再起動
      # /etc/init.d/apache2 restart
      
    5. ブラウザで「http://admin.サーバー名/phppgadmin」へアクセスする。

Comments:0

add to hatena hatena.comment (4) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 4

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://ore.saizensen.net/archives/339/trackback
Listed below are links to weblogs that reference
[Debian]Debian lennyで1からサーバーを作ってみる – PHP、MySQL、PostgreSQLをインストール from おれ最前線ねっと

Home > Debian | UNIX > [Debian]Debian lennyで1からサーバーを作ってみる – PHP、MySQL、PostgreSQLをインストール

Search
Feeds
Meta

Return to page top