FreeBSD-8.1-RELEASE-i386 インストール 2

  • 次の段階はどんな用途のサーバーでも利用するだろうアプリケーションをセッティングして dump する作戦


準備

# 近いサーバーを選んでおく
setenv PACKAGEROOT ftp://ftp3.jp.FreeBSD.org

# 設定用のファイルがあるドライブをマウント
mount_nfs 192.168.0.146:/back /back

apache

pkg_add -r apache22
echo 'apache22_enable="YES"' >> /etc/rc.conf
echo 'apache22_http_accept_enable="YES"' >> /etc/rc.conf

chown $LOGNAME /usr/local/www/apache22/data

cp /usr/local/etc/apache22/httpd.conf /usr/local/etc/apache22/httpd.conf.orig
sed s/you@example.com/info@zenno.com/ < /usr/local/etc/apache22/httpd.conf.orig > /usr/local/etc/apache22/httpd.conf

patch -p0 < /back/src/newsyslog.conf.patch
  • ==> newsyslog.conf.patch <==
    --- /etc/newsyslog.conf.orig    2010-09-02 16:00:26.000000000 +0900
    +++ /etc/newsyslog.conf 2010-09-02 17:10:08.000000000 +0900
    @@ -36,3 +36,5 @@
     /var/log/weekly.log                    640  5     1    $W6D0 JN
     /var/log/wtmp                          644  3     *    @01T05 B
     /var/log/xferlog                       600  7     100  *     JC
    +/var/log/httpd-access.log              644  7     *    @T00   Z    /var/run/httpd.pid 30
    +/var/log/httpd-error.log               644  7     *    @T00   Z    /var/run/httpd.pid 30
  • libiconv 依存関係でインストールされる libiconv だが make WITH_EXTRA_PATCHES=true の必要性について
    十分検証できていないので今回はデフォルトのまま。
    patchを採用する場合はオリジナルpackageを作成

snmpd

pkg_add -r net-snmp 

echo 'snmpd_enable="YES"' >> /etc/rc.conf

cp  /back/src/snmpd.conf /usr/local/share/snmp/snmpd.conf
  • ==> snmpd.conf <==
    com2sec local     localhost       zenno
    com2sec mynetwork 192.168.0.0/24      zenno
    
    group MyRWGroup v1         local
    group MyRWGroup v2c        local
    group MyRWGroup usm        local
    group MyROGroup v1         mynetwork
    group MyROGroup v2c        mynetwork
    group MyROGroup usm        mynetwork
    
    view all    included  .1                               80
    
    access MyROGroup ""      any       noauth    exact  all    none   none
    access MyRWGroup ""      any       noauth    exact  all    all    none
    
    syslocation FreeBSD server
    syscontact kenji <info@zenno.com>
    
    disk / 10000
    load 12 14 14

mysql

pkg_add -r mysql55-server 
echo 'mysql_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/mysql-server start
rehash
mysqladmin -u root password PASS
mysql -pPASS

use mysql
delete from user where password = "";
DROP USER ''@'%';
DROP DATABASE `test`;
exit

php5

オリジナルpackageで WITH_APACHE=true WITH_MULTIBYTE=true にて作成済み package を使う。

pkg_add -r libxml2
pkg_add /back/new_package/php5-5.3.2_1.tbz
echo '<? phpinfo(); ?>' > /usr/local/www/apache22/data/info.php
echo 'date.timezone = "Asia/Tokyo"' > /usr/local/etc/php.ini
patch -p0 < /back/src/php5.httpd.conf.patch
  • ==> php5.httpd.conf.patch <==
    --- /usr/local/etc/apache22/httpd.conf.orig     2010-09-02 17:32:07.000000000 +0900
    +++ /usr/local/etc/apache22/httpd.conf  2010-09-02 16:16:25.000000000 +0900
    @@ -104,6 +104,9 @@
     LoadModule rewrite_module libexec/apache22/mod_rewrite.so
     LoadModule php5_module        libexec/apache22/libphp5.so
    
    +AddType application/x-httpd-php .php
    +AddType application/x-httpd-php-source .phps
    +
     <IfModule !mpm_netware_module>
     <IfModule !mpm_winnt_module>
     #

phpMyAdmin?

標準のパッケージは依存関係で古いMySQLを欲しがるので
php5-mysql と phpMyAdmin?オリジナルpackageを作っておく。
また、依存関係で必要な pdflib だがパッケージが提供されていない、ライセンスの関係らしい。
これもオリジナルpackageで用意しておく。

pkg_add /back/new_package/pdflib-7.0.4.tbz
pkg_add /back/new_package/php5-mysql-5.3.2_1.tbz

pkg_add -r phpMyAdmin
# ↑は他の依存関係を解決するため、他の必要なパッケージが
# すべて入って本体のインストールがエラーでとまるので。↓
pkg_add /back/new_package/phpMyAdmin-3.3.4.tbz
cd /usr/local/etc/apache22/Includes/
cp /back/src/phpmyadmin.conf ./phpmyadmin.conf
  • ==> phpmyadmin.conf <==
        Alias /phpmyadmin "/usr/local/www/phpMyAdmin/"
    
        <Directory "/usr/local/www/phpMyAdmin/">
            DirectoryIndex index.php
            Options none
            AllowOverride Limit
    
            Order Deny,Allow
            Deny from all
            Allow from 192.168.
        </Directory>
cd /usr/local/www/phpMyAdmin/
cp /back/src/config.inc.php ./config.inc.php
  • ==> config.inc.php <==
    <?php
    $cfg['blowfish_secret'] = '"KEY"';
    $i = 0;
    $i++;
    $cfg['Servers'][$i]['auth_type'] = 'cookie';
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['extension'] = 'mysql';
    $cfg['Servers'][$i]['AllowNoPassword'] = false;
    $cfg['Servers'][$i]['bs_garbage_threshold'] = 50;
    $cfg['Servers'][$i]['bs_repository_threshold'] = '32M';
    $cfg['Servers'][$i]['bs_temp_blob_timeout'] = 600;
    $cfg['Servers'][$i]['bs_temp_log_threshold'] = '32M';
    $cfg['Servers'][$i]['controluser'] = 'root';
    $cfg['Servers'][$i]['controlpass'] = 'PASS';
    $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
    $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
    $cfg['Servers'][$i]['relation'] = 'pma_relation';
    $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
    $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
    $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
    $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
    $cfg['Servers'][$i]['history'] = 'pma_history';
    $cfg['Servers'][$i]['tracking'] = 'pma_tracking';
    $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
    $cfg['UploadDir'] = '';
    $cfg['SaveDir'] = '';
    ?>
#mysql-server-5.5.4に対応する
patch -p0 < /back/src/create_tables.patch
mysql -u root -pPASS < scripts/create_tables.sql
  • ==> create_tables.patch <==
    --- scripts/create_tables.sql.orig      2010-09-02 18:02:50.000000000 +0900
    +++ scripts/create_tables.sql   2010-09-02 16:39:19.000000000 +0900
    @@ -80,7 +80,7 @@
       `username` varchar(64) NOT NULL default '',
       `db` varchar(64) NOT NULL default '',
       `table` varchar(64) NOT NULL default '',
    -  `timevalue` timestamp(14) NOT NULL,
    +  `timevalue` timestamp NOT NULL,
       `sqlquery` text NOT NULL,
       PRIMARY KEY  (`id`),
       KEY `username` (`username`,`db`,`table`,`timevalue`)

dump [2]

  • ココまでの状態を第二段階として dump しておく
    shutdown -r now
    
    mount_nfs 192.168.0.146:/back /back
    
    dump 0uafL /back/kenji/02_.dump /

FreeBSD


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-10-02 (土) 06:35:50 (4952d)