作業日: 12 Mar. 2012
作業メモをblogで残すために、WordPressをインストール。
参考:
環境: Linodeサーバー上のLFS6.7ベースシステム
WordPressは、PHPとMySQLが必要だが、MySQLはまだインストールしていないのでインストールする。その場合PHPも再インストールが必要。依存関係をいろいろ考え、
- expat-2.0.1
- libxml2-2.7.8
- libarchive-2.8.5
- cURL-7.24.0
- CMake-2.8.6
- MySQL-5.5.21
- PHP-5.3.8
- WordPress-3.3.1
の順にインストール。
1. expat-2.0.1
patch -Np1 -i ../expat-2.0.1-fixes-3.patch && ./configure --prefix=/usr && make
sudo make install && sudo install -v -m755 -d /usr/share/doc/expat-2.0.1 && sudo install -v -m644 doc/*.{html,png,css} /usr/share/doc/expat-2.0.1
2. libxml2-2.7.8
./configure --prefix=/usr && make && sudo make install
テストはしない。
3. libarchive-2.8.5
wget http://libarchive.googlecode.com/files/libarchive-2.8.5.tar.gz && tar zxf libarchive-2.8.5.tar.gz && cd libarchive-2.8.5 && ./configure --prefix=/usr && make && make check
sudo make install && cd ../ && rm -rf libarchive-2.8.5
4. cURL-7.24.0
wget http://curl.haxx.se/download/curl-7.24.0.tar.bz2 && tar jxf curl-7.24.0.tar.bz2 && cd curl-7.24.0 && ./configure --prefix=/usr --disable-static \ --with-ca-path=/etc/ssl/certs && make && make check
sudo make install && sudo find docs \( -name "Makefile*" -o -name "*.1" -o -name "*.3" \) \ -exec rm {} \; && sudo install -v -d -m755 /usr/share/doc/curl-7.24.0 && sudo cp -v -R docs/* /usr/share/doc/curl-7.24.0 && cd ../ && rm -rf curl-7.24.0
5. CMake-2.8.6
wget http://www.cmake.org/files/v2.8/cmake-2.8.6.tar.gz && tar zxf cmake-2.8.6.tar.gz && cd cmake-2.8.6 && ./bootstrap --prefix=/usr \ --system-libs \ --mandir=/share/man \ --docdir=/share/doc/cmake-2.8.6 && make && make test
sudo make install && cd ../ && rm -rf cmake-2.8.6
6. MySQL-5.5.21
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.21.tar.gz/from/http://www.mirrorservice.org/sites/ftp.mysql.com/ && tar zxf mysql-5.5.21.tar.gz && cd mysql-5.5.21 && sudo /usr/sbin/groupadd -g 40 mysql && sudo /usr/sbin/useradd -c "MySQL Server" -d /dev/null -g mysql \ -s /bin/false -u 40 mysql && cmake . \ -DSYSCONFDIR=/etc \ -DMYSQL_DATADIR=/srv/mysql \ -DINSTALL_MYSQLDATADIR=/srv/mysql \ -DCMAKE_INSTALL_PREFIX=/usr \ -DINSTALL_BINDIR=bin \ -DINSTALL_SBINDIR=sbin \ -DINSTALL_DOCDIR=share/doc/mysql \ -DINSTALL_DOCREADMEDIR=share/doc/mysql \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LIBDIR=lib \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/mysql \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ -DINSTALL_PLUGINDIR=lib/plugin \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SHAREDIR=share/mysql \ -DINSTALL_SQLBENCHDIR=share/mysql-bench \ -DINSTALL_SUPPORTFILESDIR=share/mysql/support-files \ -DWITH_ZLIB=system \ -DWITH_SSL=system \ -DWITH_READLINE=system \ -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DMYSQL_MAINTAINER_MODE=OFF \ -DWITH_DEBUG=OFF && make
SEGMENTS="Client Server IniFiles ManPages" SEGMENTS="$SEGMENTS Development Documentation Info Readme" for segment in $SEGMENTS; do sudo cmake -DCMAKE_INSTALL_COMPONENT=$segment -P cmake_install.cmake done unset SEGMENTS
sudo install -v -m644 /usr/share/mysql/support-files/my-medium.cnf \ /etc/my.cnf && sudo mysql_install_db --basedir=/usr --datadir=/srv/mysql \ --user=mysql && sudo chgrp -v mysql /srv/mysql{,/test,/mysql} && sudo install -v -m755 -o mysql -g mysql -d /var/run/mysql && sudo mysqld_safe --user=mysql 2>&1 > /dev/null &
パスワードを設定。****を置き換える。
sudo mysqladmin -u root password ****
sudo mysqladmin -p shutdown && cd ../ && rm -rf mysql-5.5.21
MySQLのブートスクリプト
wget http://www.linuxfromscratch.org/blfs/downloads/svn/blfs-bootscripts-20120305.tar.bz2 && tar jxf blfs-bootscripts-20120305.tar.bz2 && cd blfs-bootscripts-20120305 && sudo make install-mysql && cd ../ && rm -rf blfs-bootscripts-20120305
ブートスクリプトは、paranoiaのLFS6.7に対応していないので、適宜修正する。
#!/bin/sh ######################################################################## # Begin /etc/init.d/mysql # # Description : Start MysSQL Server # # Author : Bruce Dubbs - bdubbs@linuxfromscratch.org # # Version : LFS 7.0 # ######################################################################## ### BEGIN INIT INFO # Provides: mysql # Required-Start: $network # Should-Start: $remote_fs # Required-Stop: $network # Should-Stop: $remote_fs # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Short-Description: Starts MySQL server. # Description: Starts MySQL server. # X-LFS-Provided-By: BLFS / LFS 7.0 ### END INIT INFO . /etc/sysconfig/rc . $rc_functions #$LastChangedBy: dj $ #$Date: 2011-12-05 07:38:40 +0000 (Mon, 05 Dec 2011) $ PIDFILE=/srv/mysql/`/bin/hostname`.pid case "$1" in start) boot_mesg "Starting MySQL daemon..." # Make sure the mysql user can create a socket mkdir -p /run/mysql chown mysql.mysql /run/mysql if [ -f "$PIDFILE" ]; then if /bin/ps --pid `cat $PIDFILE` | grep mysqld >/dev/null; then boot_mesg "\n mysqld already running!" #warning exit 0 else rm -f "$PIDFILE" if [ -f "$PIDFILE" ]; then #log_failure_msg2 boot_mesg "\n failure" exit 1 fi fi fi /usr/bin/mysqld_safe --user=mysql 2>&1 >/dev/null & evaluate_retval ;; stop) boot_mesg "Stopping MySQL daemon..." killproc -p ${PIDFILE} /usr/sbin/mysqld evaluate_retval ;; reload) bootmesg "Reloading MySQL ..." killproc -p ${PIDFILE} /usr/sbin/mysqld -HUP evaluate_retval ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /usr/sbin/mysqld ;; *) echo "Usage: $0 {start|stop|reload|restart|status}" exit 1 ;; esac # End /etc/init.d/mysql
のようにした。
7. PHP-5.3.8 の再インストール
wget http://us2.php.net/distributions/php-5.3.8.tar.bz2 && tar jxf php-5.3.8.tar.bz2 && cd php-5.3.8 && ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-apxs2 \ --with-config-file-path=/etc \ --with-zlib \ --enable-bcmath \ --with-bz2 \ --enable-calendar \ --enable-dba=shared \ --with-gdbm \ --with-gmp \ --enable-ftp \ --with-gettext \ --enable-mbstring \ --with-readline \ --with-openssl \ --with-mysql \ --with-mcrypt \ --with-pgsql \ --with-pdo-pgsql && make
sudo make install && sudo install -v -m644 php.ini-production /etc/php.ini && sudo install -v -m755 -d /usr/share/doc/php-5.3.8 && sudo install -v -m644 CODING_STANDARDS EXTENSIONS INSTALL NEWS \ README* TODO* UPGRADING php.gif \ /usr/share/doc/php-5.3.8 && sudo ln -v -sfn /usr/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt \ /usr/share/doc/php-5.3.8 && sudo ln -v -sfn /usr/lib/php/doc/Structures_Graph/docs \ /usr/share/doc/php-5.3.8
Apacheを再起動
sudo /etc/rc.d/init.d/apache stop && sudo /etc/rc.d/init.d/apache start
restartだとうまくいかなかった。
8. WordPress-3.3.1のインストール
http://wpdocs.sourceforge.jp/WordPress_のインストールを参考にした。
wget http://wordpress.org/latest.tar.gz && tar zxf latest.tar.gz && sudo mv -R wordpress /srv/www/htdocs/blog && sudo chown -R apache:apache /srv/www/htdocs/blog
作業日時点での最新版は、3.3.1だった。
WordPress専用ユーザーを追加する。
mysql -u root -p
mysql> CREATE DATABASE databasename; mysql> GRANT ALL PRIVILEGES ON databasename.* TO "username"@"localhost" -> IDENTIFIED BY "password"; mysql> FLUSH PRIVILEGES; mysql> EXIT
databasename、username、passwordは適宜変更。
ブラウザからhttp://www.songanatomy.info/blog/にアクセスし、指示に従って進んで行くと、mysqlのユーザー名等を入力させられる。そして出てきた画面を、
/srv/www/htdocs/blog/wp-config.php
にコピペする。そして、進んで行き、ブログタイトル、ユーザー名等の情報を入れるとブログが完成。