一个朋友的服务器被黑客入侵了,无奈之下重装系统,找我帮他搭建环境。

准备工作

安装 EPEL 源:

Terminal window
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

安装编译工具:

Terminal window
yum -y install make gcc gcc-c++ autoconf automake

安装 Nginx

Terminal window
yum -y install pcre-devel openssl-devel zlib-devel
wget http://nginx.org/download/nginx-1.9.2.tar.gz
wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz
wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz \
-O ngx_devel_kit_v0.2.19.tar.gz
wget https://github.com/openresty/lua-nginx-module/archive/v0.9.16.tar.gz \
-O lua-nginx-module_v0.9.16.tar.gz
tar zxf nginx-1.9.2.tar.gz -C /usr/local/src
tar zxf LuaJIT-2.0.4.tar.gz -C /usr/local/src
tar zxf ngx_devel_kit_v0.2.19.tar.gz -C /usr/local/src
tar zxf lua-nginx-module_v0.9.16.tar.gz -C /usr/local/src
cd /usr/local/src/LuaJIT-2.0.4
make PREFIX=/usr/local/LuaJIT
make PREFIX=/usr/local/LuaJIT install
make clean
echo "/usr/local/LuaJIT/lib" > /etc/ld.so.conf.d/LuaJIT.conf
ldconfig
cd /usr/local/src/nginx-1.9.2
export LUAJIT_LIB=/usr/local/LuaJIT/lib
export LUAJIT_INC=/usr/local/LuaJIT/include/luajit-2.0
./configure --prefix=/usr/local/nginx \
--user=nobody \
--group=nobody \
--with-threads \
--with-file-aio \
--with-http_ssl_module \
--with-http_spdy_module \
--with-http_realip_module \
--with-http_gunzip_module \
--with-http_auth_request_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--http-client-body-temp-path=/usr/local/nginx/client_body_temp \
--http-proxy-temp-path=/usr/local/nginx/proxy_temp \
--http-fastcgi-temp-path=/usr/local/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/usr/local/nginx/uwsgi_temp \
--http-scgi-temp-path=/usr/local/nginx/scgi_temp \
--with-mail \
--with-mail_ssl_module \
--with-stream \
--with-stream_ssl_module \
--add-module=../ngx_devel_kit-0.2.19 \
--add-module=../lua-nginx-module-0.9.16
make && make install && make clean

安装 MySQL

Terminal window
yum -y install mysql-server mysql-devel

安装 PHP

安装 PHP 5.6:

Terminal window
yum -y install readline-devel gd-devel libjpeg-turbo-devel libpng-devel freetype-devel libcurl-devel
wget http://am1.php.net/distributions/php-5.6.10.tar.gz
tar zxf php-5.6.10.tar.gz -C /usr/local/src
cd /usr/local/src/php-5.6.10
./configure --prefix=/usr/local/php \
--enable-fpm \
--with-fpm-user=nobody \
--with-fpm-group=nobody \
--disable-ipv6 \
--enable-phpdbg \
--with-readline \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-opcache
make && make install
cp php.ini-production /usr/local/php/etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cd /usr/local/src/php-5.6.10/ext/gd
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv
make && make install && make clean
cd /usr/local/src/php-5.6.10/ext/curl
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install && make clean

因为朋友的某个程序相当古老,重新安装 PHP 5.2:

Terminal window
wget http://museum.php.net/php5/php-5.2.17.tar.gz
wget http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz
tar zxf php-5.2.17.tar.gz -C /usr/local/src
gzip -c -d php-5.2.17-fpm-0.5.14.diff.gz | patch -d /usr/local/src/php-5.2.17 -p1
cd /usr/local/src/php-5.2.17
./configure --prefix=/usr/local/php52 \
--enable-fastcgi \
--enable-force-cgi-redirect \
--enable-fpm \
--disable-ipv6 \
--with-mysql \
--with-mysqli \
--with-pdo-mysql \
--with-libdir=lib64
make && make install
cp php.ini-recommended /usr/local/php52/etc/php.ini