虚拟机:
VirtualBox4.3.2
新建虚拟机->设置共享目录到E:/wwwroot->设置端口转发:
SSH TCP 192.168.56.1:22 10.0.2.15:22
HTTP TCP 192.168.56.1:80 10.0.2.15:80
操作系统:
最小化安装CentOS5.10(只需xxx.1of9.iso)
163源http://mirrors.163.com/.help/CentOS5-Base-163.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
mv CentOS5-Base-163.repo CentOS-Base.repo
yum makecache
yum -y install wget man make gcc gcc-c++ gcc44 gcc44-c++ autoconf
#VBoxGuestAdditions.iso
mount /dev/cdrom /mnt
yum -y install kernel-devel
ln -s /usr/src/kernels/2.6.18-371.1.2.el5-x86_64/ /usr/src/linux
cd /mnt
sh VBoxLinuxAdditions.run
cd /media/sf_wwwroot
umount /dev/cdrom
/sbin/iptables -N RH-Firewall-1-INPUT
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart
安装包:
http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.34.tar.gz
http://nginx.org/download/nginx-1.4.4.tar.gz
http://cn2.php.net/distributions/php-5.4.22.tar.bz2
http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.bz2
http://downloads.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
http://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
http://download.redis.io/releases/redis-2.6.16.tar.gz
http://fallabs.com/tokyocabinet/tokyocabinet-1.4.48.tar.gz
http://fallabs.com/tokyotyrant/tokyotyrant-1.1.41.tar.gz
https://github.com/nicolasff/phpredis
https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz
http://pecl.php.net/get/memcached-2.1.0.tgz
http://pecl.php.net/get/tokyo_tyrant-0.7.0.tgz
before:
yum -y install cmake bison ncurses-devel
yum -y install pcre-devel openssl openssl-devel bzip2-devel
yum -y install libxml2 libxml2-devel curl curl-devel
yum -y install libpng libpng-devel libjpeg libjpeg-devel
cd libmcrypt-2.5.8 && ./configure && make && make install
cd mhash-0.9.9.9 && ./configure && make && make install
cd mcrypt-2.6.8
LD_LIBRARY_PATH=/usr/local/lib ./configure
make && make install
groupadd mysql
useradd -r -g mysql mysql
useradd -M -s /sbin/nologin www
usermod -G vboxsf www #virtualbox
mysql(5.5.34):
tar xzf mysql-5.5.34.tar.gz
cd mysql-5.5.34
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysqld.sock \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=0
make && make install
cd /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
chown -R mysql:mysql /usr/local/mysql
su - mysql
cd /usr/local/mysql
cp scripts/mysql_install_db .
./mysql_install_db --user=mysql
exit
echo "/usr/local/mysql/bin/mysqld_safe --user=mysql > /dev/null 2>&1 &" >> /etc/rc.local
--------------
nginx(1.4.4):
./configure --prefix=/usr/local/nginx
make && make install
vi /usr/local/nginx/conf/nginx.conf
user=www;
error_log off;
http: access_log off; gzip_types text/plain application/x-javascript text/css application/xml image/gif application/octet-stream;
http: sendfile off;
http-server: server_name vm.boyaa.com;
root /media/sf_wwwroot;
echo "/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf > /dev/null 2>&1 &" >> /etc/rc.local
--------------
php(5.4.22):
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-mysql-sock=/usr/local/mysql/mysqld.sock \
--with-gd \
--with-iconv \
--with-zlib \
--with-curl \
--with-curlwrappers \
--with-fpm-user=www \
--with-fpm-group=www \
--with-xmlrpc \
--with-gettext \
--with-mcrypt \
--without-pear \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--enable-gd-native-ttf \
--enable-pcntl \
--enable-sockets \
--enable-zip \
--enable-soap \
--enable-session \
--enable-ftp \
--enable-calendar \
--enable-ctype \
--enable-exif \
--disable-ipv6 \
--disable-phar
cp php.ini-production /usr/local/php/etc/php.ini
vi /usr/local/php/etc/php.ini
display_errors = On
log_errors = Off
date.timezone = PRC
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
vi /usr/local/php/etc/php-fpm.conf
pid = run/php-fpm.pid
log_level = error
listen = php-fpm.sock
echo "/usr/local/php/sbin/php-fpm -D -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf" >> /etc/rc.local
vi /usr/local/nginx/conf/nginx.conf
index index.php index.html index.htm;
root /media/sf_wwwroot;
fastcgi_pass unix:/usr/local/php/php-fpm.sock;
include fastcgi.conf;
-----------------
redis(2.6.16):
cd redis-2.6.16
vi src/Makefile
PREFIX?=/usr/local/redis
make && make install
cp redis.conf /usr/local/redis/
vi /usr/local/redis/redis.conf
daemonize yes
注释掉存盘#save 900 1
#save 300 10
#save 60 10000
appendfsync no
no-appendfsync-on-rewrite yes
maxmemory 64000000
echo "/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf" >> /etc/rc.local
-----------------
tokyocabinet(1.4.48):
cd tokyocabinet-1.4.48
./configure --prefix=/usr/local/tokyocabinet
make && make install
tokyotyrant(1.1.41):
cd tokyotyrant-1.1.41
./configure --prefix=/usr/local/tokyotyrant --with-tc=/usr/local/tokyocabinet
make && make install
PHP扩展:
a)redis:
cd phpredis
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
vi /usr/local/php/etc/php.ini
extension=redis.so
b)memcached:
cd libmemcached-1.0.16
export CC="gcc44"
export CXX="g++44"
./configure
make && make install
cd memcached-2.1.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
vi /usr/local/php/etc/php.ini
extension=memcached.so
c)tokyo_tyrant:
cd tokyo_tyrant-0.7.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config \
--with-tokyo-tyrant=/usr/local/tokyotyrant \
--with-tokyo-cabinet-dir=/usr/local/tokyocabinet
make && make install
vi /usr/local/php/etc/php.ini
extension=tokyo_tyrant.so
--------
subversion:
http://mirror.esocc.com/apache/subversion/subversion-1.8.5.tar.bz2
http://mirrors.cnnic.cn/apache/apr/apr-1.5.0.tar.gz
http://mirrors.cnnic.cn/apache/apr/apr-util-1.5.3.tar.gz
http://www.sqlite.org/snapshot/sqlite-amalgamation-201311271348.zip
cd apr-1.5.0
./configure --prefix=/usr/local/apr
make && make install
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr --with-apr=/usr/local/apr
make && make install
cd subversion-1.8.5
mkdir sqlite-amalgamation
cp ../sqlite-amalgamation-201311271348/*{.c,.h} ./sqlite-amalgamation/
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
make && make install
cd /media/sf_wwwroot
mkdir svnrepo
cd svnrepo
/usr/local/svn/bin/svnadmin create pubprj
echo "tsc = 123456" >> pubprj/conf/passwd
vi pubprj/conf/authz
[groups]
dev = tsc
[/]
@dev = rw
echo "/usr/local/svn/bin/svnserve -d -r /media/sf_wwwroot/svnrepo" >> /etc/rc.local
设置VirtualBox端口转发到3690
CheckOut:svn://vm.boyaa.com:3690/pubprj
CMD:netstat -an | findstr "3690" 若无,则重新VirtualBox