0x01 安裝php
1、首先得安裝第三方軟件庫
yum install epel-release
復制代碼
2、安裝依賴包
yum install gcc gcc-c++ glibc libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel
復制代碼
3、下載php源碼
下載 php-5.6.30.tar.gz
4、編譯&安裝
./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --enable-mbstring --enable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir --with-freetype-dir --enable-calendar
make
make install
復制代碼
5、為php提供配置文件
cp php.ini-production /usr/local/php/lib/php.ini
復制代碼
6、為php-fpm提供配置文件
cd /usr/local/php
cp etc/php-fpm.conf.default etc/php-fpm.conf
vim etc/php-fpm.conf
復制代碼
修改以下內容
pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pid = /usr/local/php/var/run/php-fpm.pid
復制代碼
7、啟動php-fpm
執行以下命令:
/usr/local/php/sbin/php-fpm
復制代碼
使用如下命令來驗證(如果此命令輸出有中幾個php-fpm進程就說明啟動成功了):
ps aux | grep php-fpm
復制代碼
0x02 安裝nginx
1、安裝依賴包
yum install gcc automake autoconf libtool make gcc-c++ readline readline-devel pcre pcre-devel opemssl openssl-devel zlib zlib-devel
復制代碼
2、下載源碼
為利于后期開發,nginx采用 openresty
3、編譯&安裝
./configure --prefix=/usr/local/openresty/nginx --sbin-path=/usr/local/openresty/nginx/sbin/nginx --conf-path=/usr/local/openresty/nginx/nginx.conf --pid-path=/usr/local/openresty/nginx/nginx.pid --with-http_ssl_module --with-http_flv_module --with-http_mp4_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi
make
make install
復制代碼
4、nginx和php-fpm整合
編輯文件/usr/local/openresty/nginx/nginx.conf
,以下內容的“#”號去掉,結果如下:
log_format main '$remote_addr - $remote_user [$time_local] "$request"''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log logs/access.log main;location / {root html;index index.html index.htm;}location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;#include fastcgi_params;include fastcgi.conf;}
復制代碼
重新載入nginx的配置文件
/usr/local/openresty/nginx/sbin/nginx -s reload
復制代碼
5、測試php文件
在/usr/local/openresty/nginx/html
下創建index.php文件,輸入如下內容
<?phpphpinfo();
?>
復制代碼
瀏覽器訪問http://你的服務器ip/index.php
,即可以見到php信息了。
非本機訪問需要開啟防火墻策略
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,沒有此參數重啟后失效)
firewall-cmd --reload
復制代碼
0x03 mysql安裝
1、下載安裝包
下載 mysql-5.7.16-linux-glibc2.5-x86_64.tar
2、檢查庫文件是否存在,如有刪除。
rpm -qa | grep mysql
mysql-libs-5.1.52-1.el6_0.1.x86_64
rpm -e mysql-libs-5.1.52.x86_64 --nodeps
復制代碼
3、檢查mysql組和用戶是否存在,如無創建。
cat /etc/group | grep mysql
mysql:x:490:
cat /etc/passwd | grep mysql
mysql:x:496:490::/home/mysql:/bin/bash
復制代碼
以上為默認存在的情況,如無,執行添加命令:
groupadd mysql
useradd -r -g mysql mysql //useradd -r參數表示mysql用戶是系統用戶,不可用于登錄系統。
復制代碼
4、解壓TAR包,更改所屬的組和用戶
cd /usr/local/
tar xvf mysql-5.7.12-linux-glibc2.5-x86_64.tar
ls -l
tar xvfz mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.12-linux-glibc2.5-x86_64 mysql
chown -R mysql mysql/
chgrp -R mysql mysql/
cd mysql/
復制代碼
5、安裝數據庫
bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
復制代碼
如果改變默認安裝路徑,則需要
1、/etc/my.cnf、/etc/init.d/mysqld中修改basedir='/apps/mysql'datadir='/apps/mysql/data'
2、創建ln mkdir -p /usr/local/mysql/binln -s /apps/mysql/bin/mysqld /usr/local/mysql/bin/mysqld`
復制代碼
6、初始化數據庫
cp -a ./support-files/my-default.cnf /etc/my.cnf
cp -a ./support-files/mysql.server /etc/init.d/mysqld
cd bin/
./mysqld_safe --user=mysql &/etc/init.d/mysqld restart
復制代碼
7、設置開機啟動
chkconfig --level 35 mysqld on
復制代碼
8、初始化密碼
mysql5.7會生成一個初始化密碼,而在之前的版本首次登陸不需要登錄。
cat /root/.mysql_secret
./mysql -uroot -p
Enter password:
mysql> SET PASSWORD = PASSWORD('********');
mysql> flush privileges;//重啟生效
/etc/init.d/mysqld restart
復制代碼
0x04 添加PDO擴展
一些漏洞環境(dvwa)數據庫連接改用pdo,如未安裝,可在此進行安裝。
在PHP源碼包中進入ext/pdo_mysql,按以下步驟執行。
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
make
make install
復制代碼
注: 我的PHP安裝在:/usr/local/php/,mysql安裝在:/usr/local/mysql,編譯的時候注意你自己的安裝目錄在哪里。
修改配置文件php.ini
打開并添加
extension=pdo_mysql.so
extension=pdo.so
復制代碼
重啟php-fpm