やっとこさ自宅サーバーを直した。落雷でハードディスクエラーになってconfigureできない状態だったので、ハードディスクを買ってきてOS入れ直した。OS替えようかなとかも考えたけど、結局FedoraCore6にした。出たばっかりだし。
あと、作ったものとかを置く場所が欲しいなと思っていたら、id:spiritlooseさんに自宅サーバーにするべきと薦められたので、作ってみた。まぁ確かに自宅サーバーだと何でもありだから便利。
まだ何にもないけれど、何か作ったらここに置くとしよう。
ApacheとかMySQLとかは大体入れて、あとはSubversion入れれば一通り終わりかな。というところで、インストールメモを貼っておくと。
- いろいろyum
$ sudo yum install zsh
$ chsh -s /bin/zsh
$ sudo yum install screen
$ sudo yum install w3m
- Apache (proxy)
$ sudo chmod 777 /usr/local/src $ mkdir ~/download $ cd ~/download $ wget http://www.meisei-u.ac.jp/mirror/apache/dist/httpd/httpd-2.2.3.tar.gz $ cp httpd-2.2.3.tar.gz /usr/local/src/ $ cd /usr/local/src $ tar zxvf httpd-2.2.3.tar.gz $ cd httpd-2.2.3 $ ./configure \ --prefix=/usr/local/proxy \ --enable-headers \ --enable-proxy \ --enable-ssl \ --enable-rewrite $ make $ sudo make install
$ cd ~/download $ wget http://www.meisei-u.ac.jp/mirror/apache/dist/httpd/httpd-2.0.59.tar.gz $ cp ./httpd-2.0.59.tar.gz /usr/local/src/ $ cd /usr/local/src/ $ tar zxvf ./httpd-2.0.59.tar.gz $ cd ./httpd-2.0.59 $ ./configure \ --enable-so \ --enable-shared=yes $ make $ sudo make install
$ cd ~/download $ wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.5.tar.gz $ cp ruby-1.8.5.tar.gz /usr/local/src/ $ cd /usr/local/src/ $ tar zxvf ruby-1.8.5.tar.gz $ cd ruby-1.8.5 $ ./configure $ make $ sudo make install
- mod_ruby
$ cd ~/download $ wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz $ cp ./mod_ruby-1.2.6.tar.gz /usr/local/src/ $ cd /usr/local/src/ $ tar zxvf ./mod_ruby-1.2.6.tar.gz $ cd mod_ruby-1.2.6 $ ./configure.rb \ --enable-eruby \ --with-apxs=/usr/local/apache2/bin/apxs $ make $ sudo make install $ sudo vim /usr/local/apache2/conf/httpd.conf # add start LoadModule ruby_module /usr/local/apache2/modules/mod_ruby.so <IfModule mod_ruby.c> RubyRequire apache/ruby-run <Files *.rbx> SetHandler ruby-object RubyHandler Apache::RubyRun.instance </Files> </IfModule> # add end <Directory "/usr/local/apache2/htdocs"> # add start options +ExecCGI # add end
$ sudo /usr/sbin/groupadd mysql $ sudo /usr/sbin/useradd -g mysql mysql $ sudo /usr/bin/passwd mysql $ cd ~/download $ wget ftp://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.0/mysql-5.0.27.tar.gz $ cp mysql-5.0.27.tar.gz /usr/local/src/ $ cd /usr/local/src $ tar zxvf mysql-5.0.27.tar.gz $ cd mysql-5.0.27 $ ./configure \ --prefix=/usr/local/mysql \ --with-charset=utf8 \ --with-extra-charsets=all \ --with-mysqld-user=mysql \ --with-mysqld-ldflags=-all-static \ --with-unix-socket-path=/tmp/mysql.sock \ --with-innodb \ --enable-local-infile \ --enable-assembler \ --enable-thread-safe-client $ make $ sudo make install $ sudo chown -R mysql:mysql /usr/local/mysql $ sudo vi /usr/local/mysql/bin/mysqld_safe # comment out echo "Starting $MYSQLD daemon with databases from $DATADIR" $ su - mysql $ cd /usr/local/mysql $ mkdir var $ cd var $ ../bin/mysql_install_db $ exit $ sudo cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf $ sudo /usr/local/mysql/bin/mysqld_safe --user=mysql & $ sudo /usr/local/mysql/bin/mysqladmin -uroot password xxxx $ sudo /usr/local/mysql/bin/mysqladmin -uroot -pxxxx reload $ sudo /usr/local/mysql/bin/mysql -uroot -p mysql> use mysql mysql> delete from user where user=''; mysql> flush privileges; mysql> quit
- libxml
$ cd ~/download $ wget ftp://xmlsoft.org/libxml2/libxml2-2.6.26.tar.gz $ cp libxml2-2.6.26.tar.gz /usr/local/src/ $ cd /usr/local/src $ tar zxvf libxml2-2.6.26.tar.gz $ cd libxml2-2.6.26 $ ./configure $ make $ sudo make install
- libmcrypt
$ cd ~/download $ wget http://umn.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.7.tar.gz $ cp libmcrypt-2.5.7.tar.gz /usr/local/src/ $ cd /usr/local/src $ tar zxvf libmcrypt-2.5.7.tar.gz $ cd ./libmcrypt-2.5.7 $ ./configure --disable-posix-threads $ make $ sudo make install
$ cd ~/download $ wget http://jp.php.net/distributions/php-5.2.0.tar.gz $ cp php-5.2.0.tar.gz /usr/local/src/ $ cd /usr/local/src $ tar zxvf php-5.2.0.tar.gz $ cd php-5.2.0 $ ./configure \ --prefix=/usr/local/php \ --with-apxs2=/usr/local/apache2/bin/apxs \ --with-mysql=/usr/local/mysql \ --with-mcrypt \ --enable-roxen-zts \ --enable-zend-multibyte \ --enable-track-vars \ --enable-mbstring \ --enable-mbregex $ make $ sudo make install $ sudo cp php.ini-recommended /usr/local/php/lib/php.ini $ sudo vim /usr/local/apache2/conf/httpd.conf # add AddType application/x-httpd-php .php # add DirectoryIndex index.html index.php
- ZendOptimizer
$ cd ~/download $ cp ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz /usr/local/src/ $ cd /usr/local/src $ tar zxvf ./ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz $ cd ./ZendOptimizer-3.0.1-linux-glibc21-i386 $ sudo ./install-tty /usr/local/php/lib/ yes /usr/local/apache2/bin/apachectl yes
若干補足。自宅サーバーなので、/usr/local/srcの権限を777にしているけれど、一般的にはsuして作業する方が自然かと。最後だけsudoでやりたい面倒臭がり用です。
Apacheを2台入れてるのは、フロントを80番ポートのプロキシにしているため。後は別のポートで○○専用Apacheを増殖させていくのが便利。
ZendOptimizerだけは普通にWindowsでダウンロードしたので、wgetしてない。最後のは対話で何と答えたかを書いている。
[追記]
Subversionもインストールした。やり方は前に書いたのと同じ。
[追記 2]
ZendOptimizer 3.0.1はPHPの5.2.xには対応してなかったorz。Zendがアップグレードしたら入れ直す。