最近用php做的項目到了項目部署的時候,服務器為centos6.4系統,為了快捷部署,采用yum安裝部署
大部分內容參考博客 http://blog.sina.com.cn/s/blog_c02ed6590101d2sl.html
一、安裝 MySQL
首先來進行 MySQL 的安裝。打開超級終端,輸入:
[root@localhost ~]# yum install mysql mysql-server
安裝完畢,讓 MySQL 能夠隨系統自動啟動:
[root@localhost ~]# chkconfig --levels 235 mysqld on
[root@localhost ~]# /etc/init.d/mysqld start
設置 MySQL 數據 root 賬戶的密碼:
[root@localhost ~]# mysql_secure_installation
當出現如下提示時候直接按回車:
Enter current password for root
出現如下再次回車:
Set root password? [Y/n]
出現如下提示輸入你需要設置的密碼,回車后在輸入一次確認:
New password:
接下來還會有四個確認,分別是:
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
直接回車即可。
二、安裝 Apache 組件
由於 CentOS 已經封裝了 Apache,直接運行安裝:
[root@localhost ~]# yum install httpd
同樣配置系統讓 Apache 隨系統啟動:
[root@localhost ~]# chkconfig --levels 235 httpd on
配置完畢,啟動 Apache:
[root@localhost ~]# /etc/init.d/httpd start
此時已經可以訪問你的服務器,不出意外的話,能夠看到 “Apache 2 Test Page powered by CentOS” 的測試頁面。注意,如果其他機器訪問這台服務無法顯示這個頁面,而直接在這台服務器上可以訪問的話,一般情況下是 CentOS 自帶的防火牆禁止了。你只需要進入防火牆,將 “WWW” 對應的 “80” 端口打開即可。
注意:在 CentOS 中 Apache 的默認根目錄是 /var/www/html,配置文件 /etc/httpd/conf/httpd.conf。其他配置存儲在 /etc/httpd/conf.d/ 目錄。
三、安裝 PHP
輸入如下指令安裝 PHP:
[root@localhost ~]# yum install php
需要重新啟動 Apache 服務:
[root@localhost ~]# /etc/init.d/httpd restart
四、測試 PHP 相關信息
這步實際上可以省略,但是為了測試是否安裝成功,你可以新建一個 PHP 頁面進行測試,使用 vim 編輯器新建:
[root@localhost ~]# vi /var/www/html/info.php
按 “i” 鍵進行編輯,輸入:
phpinfo();
?>
編輯完畢,按 “ESC” 鍵退出編輯模式,接着輸入:
:wq
然后回車,即保存並退出。
此時你可以訪問你的站點地址,例如 “http://192.168.1.2/info.php”,查看是否能看到相關的 PHP 信息。
五、將 PHP 模塊和 MySQL 模塊關聯起來
還需要將 PHP 和 MySQL 關聯起來,才能正常工作。搜索模塊:
[root@localhost ~]# yum search php
安裝相關模塊:
[root@localhost ~]# yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
需要重啟 Apache 模塊才能生效:
[root@localhost ~]# /etc/init.d/httpd restart
再次刷新剛才建立的 “info.php” 頁面,往下拉找到相關 MySQL 模塊,看是否檢測到相關信息
問題1:為了讓其他電腦訪問,簡單的方法是關閉防火前,不推薦 使用命令 /etc/rc.d/init.d/iptables stop
合理的方法是使用iptables規則,如下
關閉所有的 INPUT FORWARD OUTPUT 只對某些端口開放。
下面是命令實現:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
再用命令 iptables -L -n 查看 是否設置好, 好看到全部 DROP 了
這樣的設置好了,我們只是臨時的, 重啟服務器還是會恢復原來沒有設置的狀態
還要使用 service iptables save 進行保存
看到信息 firewall rules 防火牆的規則 其實就是保存在 /etc/sysconfig/iptables
可以打開文件查看 vi /etc/sysconfig/iptables
問題2:yum安裝的mysql版本為5.1.7,默認latin字符,需要修改為utf-8。vi /etc/my.cnf文件,添加default-character-set=utf8,如下
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
default-character-set=utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
default-character-set=utf8
問題3:項目使用了mb_substr函數以及soap協議,php默認沒安裝,yum install php-mbstring 以及 yum install php-soap,重啟apache,/etc/init.d/httpd restart
問題4:默認apache指向/var/www/html目錄,如果我要指向 /var/www/html/project ,修改httpd.conf
vi /etc/httpd/conf/httpd.conf 命令,查找/var/www/html改為/var/www/html/project,重啟apache服務即可,/etc/init.d/httpd restart
問題5:項目必須有讀寫權限
使用chmod -R **命令
未完待續