第一種方法:安裝包編譯解析安裝
准備工作:
1、配置防火牆,開啟80端口、3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #允許80端口通過防火牆
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #允許3306端口通過防火牆
將以上內容添加到 -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 的下面
/etc/init.d/iptables restart #最后重啟防火牆使配置生效
2、關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq #保存,關閉
shutdown -r now #重啟系統
Linux下安裝MySQL
一、准備
1、查看系統是否已經安裝了mysql
[root@iZ28wslixcoZ ~]# rpm -qa | grep mysql
// 這個命令就會查看該操作系統上是否已經安裝了mysql數據庫
如果沒有安裝,則不會輸出任何內容;如果已經安裝了,會顯示相應的版本信息。
[root@iZ28wslixcoZ ~]# rpm -e mysql
// 普通刪除模式
[root@iZ28wslixcoZ ~]# rpm -e --nodeps mysql
// 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它文件,則用該命令可以對其進行強力刪除
二、安裝
[root@iZ28wslixcoZ ~]# yum list | grep mysql
我們通過命令可以查看yum上提供下載的mysql的版本信息,然后通過下面的命令進行數據庫的安裝,
[root@iZ28wslixcoZ ~]# yum install -y mysql-server mysql mysql-deve
但是,
CentOS 7的yum源中貌似沒有正常安裝mysql時的mysql-sever文件,需要去官網上下載:
[root@iZ28wslixcoZ ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
[root@iZ28wslixcoZ ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
[root@iZ28wslixcoZ ~]# yum install mysql-community-server
成功安裝之后重啟mysql服務:
[root@iZ28wslixcoZ ~]# service mysqld restart
MySQL安裝之后是沒有密碼的,可以直接通過
[root@iZ28wslixcoZ ~]# mysql
登錄,如果顯示Welcome to the MySQL monitor等信息,則說明MySQL安裝成功。
三、配置
MySQL安裝之后只能通過本機登錄,是不能遠程連接的,如果用Navicat等MySQL客戶端連接,會報錯ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server。說明所連接的用戶帳號沒有遠程連接的權限,只能在本機(localhost)登錄,需更改 MySQL 數據庫里的 user表里的host項,把localhost改為%
具體步驟:
登錄到MySQL,
mysql > user mysql;
mysql > update user set host='%' where user = 'root';
(這時候會報錯ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' ,這個不用管)
mysql > select host from user where user = 'root';
+-----------------------+
| host |
+-----------------------+
| % |
| 127.0.0.1 |
| localhost.localdomain |
+-----------------------+
3 rows in set (0.00 sec)
host已經有了%這個值,所以直接運行命令:
mysql > flush privileges;
再用Navicat連接即可成功。
或者可以通過以下較通用的命令更改MySQL的權限:
1、設置訪問單個數據庫權限
mysql>grant all privileges on test.* to 'root'@'%';
說明:設置用戶名為root,密碼為空,可訪問數據庫test
2、設置訪問全部數據庫權限
mysql>grant all privileges on *.* to 'root'@'%';
說明:設置用戶名為root,密碼為空,可訪問所有數據庫*
3、設置指定用戶名訪問權限
mysql>grant all privileges on *.* to 'liuhui'@'%';
說明:設置指定用戶名為liuhui,密碼為空,可訪問所有數據庫*
4、設置密碼訪問權限
mysql>grant all privileges on *.* to 'liuhui'@'%' IDENTIFIED BY 'liuhui';
說明:設置指定用戶名為liuhui,密碼為liuhui,可訪問所有數據庫*
5、設置指定可訪問主機權限
mysql>grant all privileges on *.* to 'liuhui'@'10.2.1.11';
說明:設置指定用戶名為liuhui,可訪問所有數據庫*,只有10.2.1.11這台機器有權限訪問
Linux下安裝Apache
一、准備
1、安裝apr
下載地址:http://apr.apache.org/download.cgi
[root@iZ28wslixcoZ work]# tar -zxvf apr-1.5.2.tar.gz
[root@iZ28wslixcoZ apr-1.5.2]# ./configure --prefix=/usr/local/apr // 自己的地址
[root@iZ28wslixcoZ apr-1.5.2]# make
[root@iZ28wslixcoZ apr-1.5.2]# make install
2、安裝apr-util
下載地址:http://apr.apache.org/download.cgi
[root@iZ28wslixcoZ work]# tar -zxvf apr-util-1.5.4.tar.gz
[root@iZ28wslixcoZ apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util // 自己的地址
[root@iZ28wslixcoZ apr-util-1.5.4]# make
[root@iZ28wslixcoZ apr-util-1.5.4]# make install
3、安裝pcre
下載地址:http://pcre.org/
[root@iZ28wslixcoZ work]# tar -zxvf pcre-8.36.tar.gz
[root@iZ28wslixcoZ pcre-8.36]# ./configure --prefix=/usr/local/pcre // 自己的地址
[root@iZ28wslixcoZ pcre-8.36]# make
[root@iZ28wslixcoZ pcre-8.36]# make install
二、安裝
[root@iZ28wslixcoZ work]# tar -zxvf httpd-2.4.16.tar.gz
[root@iZ28wslixcoZ httpd-2.4.16]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
[root@iZ28wslixcoZ httpd-2.4.16]# make
[root@iZ28wslixcoZ httpd-2.4.16]# make install
三、配置
1、修改配置文件
打開conf/httpd.conf,將# ServerName www.example.com:80改為ServerName localhost:80 // ip:80。
2、啟動
[root@iZ28wslixcoZ /usr/local/apache]# ./bin/apachectl start
在瀏覽器中輸入http://ip,正常的話即可查看到“It works!”。
3、設置開機啟動
[root@iZ28wslixcoZ ~]# vi /etc/rc.local
添加:/usr/local/apache/bin/apachectl start
4、修改Apache的默認站點目錄
Apache HTTP Server安裝好后,默認的站點目錄位於其安裝目錄下的htdocs文件夾內,默認首頁是該文件夾的index.html文件。
修改方法:
(1)到Apache的安裝目錄下找到conf文件夾,該文件夾內會有httpd.conf這樣一個文本文檔,它是Apache的配置文件,負責指揮Apache的運行。
(2)打開該文本文檔,查找“DocumentRoot "”(帶英文雙引號),查找出來之后,將字符串“DocumentRoot”后面雙引號內的字符串修改為自己想要設定的網站目錄。
(3)完成上述第2步之后,暫不要關閉httpd.conf文件,繼續查找,查找“<Directory "” (帶英文雙引號),查找到“<Directory "”之后,將第一個“Directory”字符串后面雙引號內的字符串修改為自己想要設定的網站目錄。
(4)保存退出,重啟apache服務器即可。
Linux下安裝PHP
一、准備
1、安裝libxml2
1)、下載libxml2:http://xmlsoft.org/downloads.html
2)、安裝:
[root@iZ28wslixcoZ work]# tar -zxvf libxml2-2.7.2.tar.gz
[root@iZ28wslixcoZ work]# cd libxml2-2.7.2
[root@iZ28wslixcoZ libxml2-2.7.2]# ./configure --prefix=/usr/local/libxml2
[root@iZ28wslixcoZ libxml2-2.7.2]# make
[root@iZ28wslixcoZ libxml2-2.7.2]# make install
如果安裝成功以后,在/usr/local/libxml2/目錄下將生成bin、include、lib、man和share五個目錄。在后面安裝PHP5源代碼包的配置時,會通過在configure命令的選項中加上"--with-libxml-dir=/usr/local/libxml2"選項,用於指定安裝libxml2庫文件的位置。
二、安裝
1、下載php5
http://www.php.net/downloads.php
2、安裝
[root@iZ28wslixcoZ work]# tar -zxvf php-5.6.14.tar.gz
[root@iZ28wslixcoZ work]# cd php-5.6.14
[root@iZ28wslixcoZ php-5.6.14]# ./configure --prefix= /usr/local/php \
--with-mysql=/usr/local/mysql \
--with-apxs=/usr/local/apache/bin/apxs \
--with-libxml-dir=/usr/local/libxml2
(如果安裝的是apache2,請使用--with-apxs2=/usr/local/apache/bin/apxs)
(如果報錯:Note that the MySQL client library is not bundled anymore! 則說明php編譯支持mysql時有問題,如果不知道mysql庫在哪,可以這樣配置:
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd
)
[root@iZ28wslixcoZ php-5.6.14]# make
[root@iZ28wslixcoZ php-5.6.14]# make install
3、配置
重新配置apache2讓他支持php。
配置 httpd.conf 讓apache支持PHP:
[root@iZ28wslixcoZ ~]# vi /usr/local/apache/conf/httpd.conf
找到AddType application/x-gzip .gz .tgz在其下添加如下內容
AddType application/x-httpd-php .php (.前面有空格)
AddType application/x-httpd-php-source .phps (.前面有空格)
保存退出。
copy PHP的配置文件:
[root@iZ28wslixcoZ ~]# cp /usr/work/php-5.6.14/php.ini.dist /usr/local/php/lib/php.ini
(如果沒有php.ini.dist,則把php.ini-development php.ini-production中的任何一個重命名為php.ini.dist即可)
4、測試
寫一個php測試頁info.php,放到apache2/htdocs中。
<?php
phpinfo();
?>;
啟動apache,在瀏覽器中輸入:http: //服務器地址/info.php,如果能正常顯示出php的信息,則說明Apche+Mysql+PHP安裝成功!
第二種方法:YUM安裝法
一、 分別安裝搭建lamp服務環境
准備工作:
1、配置防火牆,開啟80端口、3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #允許80端口通過防火牆
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #允許3306端口通過防火牆
將以上內容添加到 -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 的下面
/etc/init.d/iptables restart #最后重啟防火牆使配置生效
2、關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq #保存,關閉
shutdown -r now #重啟系統
安裝:
1、安裝Apache
卸載自帶httpd: yum remove httpd
yum install httpd #根據提示,輸入Y安裝即可成功安裝
/etc/init.d/httpd start #啟動Apache
備注:Apache啟動之后會提示錯誤:
正在啟動 httpd:httpd: Could not reliably determine theserver’s fully qualif domain name, using ::1 for ServerName
解決辦法:
vi /etc/httpd/conf/httpd.conf #編輯
找到 #ServerName www.example.com:80
修改為 ServerName www.osyunwei.com:80 #這里設置為你自己的域名,如果沒有域名,可以設置為localhost
:wq! #保存退出
chkconfig httpd on #設為開機啟動
/etc/init.d/httpd restart #重啟Apache
2、安裝MySQL
先卸載自帶mysql:
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
安裝:
yum install mysql mysql-server #詢問是否要安裝,輸入Y即可自動安裝,直到安裝完成
/etc/init.d/mysqld start #啟動MySQL
chkconfig mysqld on #設為開機啟動
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷貝配置文件(注意:如果/etc目錄下面默認有一個my.cnf,直接覆蓋即可)
為root賬戶設置密碼:
mysql_secure_installation
回車,根據提示輸入Y
輸入2次密碼,回車
根據提示一路輸入Y
最后出現:Thanks for using MySQL!
MySql密碼設置完成,重新啟動 MySQL:
/etc/init.d/mysqld restart #重啟
/etc/init.d/mysqld stop #停止
/etc/init.d/mysqld start #啟動
3、安裝PHP5
yum install php
根據提示輸入Y直到安裝完成
安裝PHP組件,使 PHP5 支持 MySQL
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pearphp-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
這里選擇以上安裝包進行安裝
根據提示輸入Y回車
/etc/init.d/mysqld restart #重啟MySql
/etc/init.d/httpd restart #重啟Apche
相關配置:
1、Apache配置
vi /etc/httpd/conf/httpd.conf #編輯文件
ServerTokens OS 在44行 修改為:ServerTokensProd (在出現錯誤頁的時候不顯示服務器操作系統的名稱)
ServerSignature On 在536行 修改為:ServerSignatureOff (在錯誤頁中不顯示Apache的版本)
Options Indexes FollowSymLinks 在331行 修改為:Options i n c l u d es e x e cCGI FollowSymLinks(允許服務器執行CGI及SSI,禁止列出目錄)
#AddHandler cgi-script .cgi 在796行 修改為:AddHandler cgi-script .cgi .pl (允許擴展名為.pl的CGI腳本運行)
AllowOverride None 在338行 修改為:AllowOverrideAll (允許.htaccess)
AddDefaultCharset UTF-8 在759行 修改為:AddDefaultCharset GB2312 (添加GB2312為默認編碼)
Options Indexes MultiViews FollowSymLinks 在554行 修改為 Options MultiViews FollowSymLinks(不在瀏覽器上顯示樹狀目錄結構)
DirectoryIndex index.html index.html.var 在402行 修改為:DirectoryIndex index.html index.htm Default.html Default.htm
index.php Default.php index.html.var (設置默認首頁文件,增加index.php)
KeepAlive Off 在76行 修改為:KeepAliveOn (允許程序性聯機)
MaxKeepAliveRequests 100 在83行 修改為:MaxKeepAliveRequests 1000 (增加同時連接數)
:wq! #保存退出
/etc/init.d/httpd restart #重啟
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #刪除默認測試頁
2、php配置
vi /etc/php.ini #編輯
date.timezone = PRC #在946行 把前面的分號去掉,改為date.timezone = PRC
disable_functions = p a s s t h r u,e x e c,s y s t e m,chroot,scandir,chgrp,chown,shell_e x e c, p r o c _ o p e n,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,pope p a s s t h r u,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,
getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#在386行 列出PHP可以禁用的函數,如果某些程序需要用到這個函數,可以刪除,取消禁用。
expose_php = Off #在432行 禁止顯示php版本的信息
magic_quotes_gpc = On #在745行 打開magic_quotes_gpc來防止SQL注入
short_open_tag = ON #在229行支持php短標簽
open_basedir = .:/tmp/ #在380行 設置表示允許訪問當前目錄(即PHP腳本文件所在之目錄)和/tmp/目錄,可以防止php木馬跨站,如果改了之后安裝程序有問題(例如:織夢內容管理系 統),可以注銷此行,或者直接寫上程序的目錄/data/www.osyunwei.com/:/tmp/
:wq! #保存退出
/etc/init.d/mysqld restart #重啟MySql
/etc/init.d/httpd restart #重啟Apche
測試:
cd /var/www/html
vi index.php #輸入下面內容
<?php
phpinfo();
?>
:wq! #保存退出
在客戶端瀏覽器輸入服務器IP地址,可以看到如下圖所示相關的配置信息!
其他:
后續安裝PDO_MySQL拓展模塊,只需要: yum install php-mysql
手動安裝會出現錯誤(configure: error: mysql_query missing!?)
二、采用lamp一鍵安裝包搭建環境
很多朋友可能認為分別安裝Apache、mydql、php很麻煩,還需要手動配置。所以接下來小編帶領大家了解下如何用lamp一鍵安裝包搭建服務環境。
部署LNMP/LAMP/LNMPA一鍵包
1、腳本下載解壓和執行安裝
wget http://mirrors.linuxeye.com/lnmp-full.tar.gz
tar xzf lnmp-full.tar.gz
cd lnmp
./install.sh
2、安裝過程的項目選擇
因為這個腳本的特點不是從開始就無人值守的,需要根據我們的環境進行選擇各種版本,所以選擇的過程比較復雜,我們要看清楚,在這個過程中我們安裝LAMP環境。
(1)、升級系統和端口、WEB服務器安裝設置
開始過程我們看到上圖,官方建議不更新系統,那我們就不更新。我們可以直接在安裝腳本過程中直接修改ROOT端口,這個非常不錯,要不我們在服務器安全事項處理的時候也需要修改端口,不要用默認的22。WEB服務器的安裝,因為我們要安裝LAMP環境,所以NGINX不安裝,APACHE安裝自己希望的版本,我這里安裝2.4。
(2)、數據庫版本和PHP版本選擇安裝
這里我們還要選擇數據庫和PHP版本的安裝。
(3)、其他相關服務器組件的安裝
我們根據自己的網站環境需求環境,配置需要的組件,小編個人建議是如果有需要用到就安裝,沒有必要用到就不要安裝。
第三、安裝完畢后一些部署工作
設置完畢之后,然后就是自動無人值守的安裝,根據系統的速度需要執行20-30分鍾,總之我們就等待,等待看到上圖的界面就標示安裝完畢,我們可以輸入y重啟服務器,然后檢測下是否安裝完整。
我們在服務器配置環境之后還是需要做幾個工作的,最為主要的是刪除默認安裝的首頁,在home/wwwroot/default中的首頁,以及需要修改PHPMYADMIN的目錄路徑,原因大家都懂的,不懂也要做。
三、在lamp環境中初步搭建起一個網站
這里我們以主流的蟬知系統為例,直接在剛才一鍵安裝好的LAMP環境中搭建網站。
蟬知企業建站系統下載: http://www.chanzhi.org/#1Q8Xh5DiC8hKFF
蟬知系統使用手冊:http://www.chanzhi.org/book/chanzhieps.html/?u=xcj
下載解壓后,將s y s t e m文件夾移到www文件夾中,這個www文件夾就是我么一會需要上傳的網站文件。
LAMP環境添加站點:
因為一鍵包不同於WEB面板,我們添加站點需要用到命令,好歹比手工部署好一些,用到下面的命令。
cd /root/lnmp
./vhost.sh
我們將www下的文件上傳到網站根目錄下,訪問網站地址進行安裝。
啟動安裝程序
訪問您的域名http://domain/install.php。如果您將蟬知安裝在二級目錄,還需要再加上二級路徑。
檢查模塊和目錄權限
備注:如果模塊或者目錄檢查不通過的話,請按照系統給出的提示進行操作以解決問題。
配置數據庫
備注:如果之前有安裝過蟬知系統,可以選中“清空現有數據”按鈕進行重新安裝。
保存配置文件
備注:系統會自動嘗試保存配置文件。如果由於權限的問題,請按照提示拷貝文本框里面的配置內容,手工保存到config/my.php文件中。
設置管理員帳號
登錄后台
至此,我們已經成功的在LAMP環境中搭建起我們的網站了。
第三種方法:源碼編譯安裝法
linux版本為CentOS 6.6
安裝MySQL
我們平時安裝MySQL都是源碼包安裝的,但是由於它的編譯需要很長的時間,我們這里選擇安裝二進制免編譯包。你可以到MySQL官方網站去下載 http://dev.mysql.com/downloads/ 具體版本根據你的平台和需求而定,
目前比較常用的為mysql-5.0/mysql-5.1, 5.5版本雖然已經發布有段日子了,但是貌似用在線上跑服務的還是少數。
具體的步驟如下:
1、下載mysql安裝文件到/usr/local/src 目錄下,如果沒有wget命令,yum install wget 安裝即可;
2、解壓下載的文件
3、把解壓完的數據移動到/usr/local/mysql
提醒注意:不用自己手動添加/mysql目錄,移動的同時會把原目錄改名的。
4、建立mysql用戶,禁止登錄系統;
5、初始化數據庫,新建/data目錄及/data/mysql子目錄,並設置/data/mysql目錄的所屬主所屬組為mysql用戶;
--user 定義數據庫的所屬主,--datadir 定義數據庫的安裝路徑,建議放到大存儲空間。看到兩個"OK"說明執行正確,否則請仔細查看錯誤信息,查詢哪里出了問題;
6、拷貝配置文件
模板配置文件在/mysql/support-files/目錄下;
根據內存大小選擇:
my-small.cnf (內存 <= 64M)
my-medium.cnf (內存 128M )
my-large.cnf (內存 512M)
my-huge.cnf (內存 1G-2G)
my-innodb-heavy-4G.cnf (內存 4GB)
7、拷貝啟動腳本文件並修改屬性
8、修改啟動腳本
需要修改的地方有
"basedir=/usr/local/mysql"(mysql的安裝目錄)
"datadir=/data/mysql"(前面初始化數據庫定義的目錄)
9、把啟動腳本加入系統服務項,並設定開機啟動,啟動mysql服務;
啟動mysqld服務時如出現以下的錯誤,
出錯的原因是解壓出來的mysql-5.1.40-linux-i686-icc-glibc23目錄,執行mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql 目錄的時候,不用建立目標目錄mysql,命令是移動的同時會改名為mysql,如自己手動建立/local/mysql目錄則是把目錄移動到此目錄下,導致命令不能執行。
也有可能的原因如下:
需要在/etc/my.cnf配置文件中,添加basedir和datadir
[mysqld]
port = 3306
basedir=/usr/local/mysql
datadir=/data/mysql
/etc/init.d/mysqld配置文件中,也需要添加basedir和datadir
basedir=/usr/local/mysql
datadir=/data/mysql
10、查看mysqld是否啟動
/usr/local/mysql/bin 目錄下的mysql為可執行命令,執行mysql開啟客戶端,測試mysql是否工作;
安裝apache
1、下載httpd包到/usr/local/src/目錄下;
2、解壓httpd源碼包
3、配置編譯的參數
--prefix 指定apache的安裝目錄;
--enable-mods-shared=most 表示安裝的模塊大多數以mods共享模式加載;
--enable-so 表示是否支持dso動態加載模塊,擴展安裝;
執行./configure時,可能會遇到以下錯誤,這個主要是gcc編譯器包、apr包沒有安裝。對於這個問題,安裝gcc、apr包就可以了。
configure: error: in `/usr/local/src/httpd-2.2.16/srclib/apr':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
configure failed for srclib/apr
執行./configure時,可能會遇到以上錯誤,這個主要是gcc編譯器包、apr包沒有安裝。對於這個問題,使用yum install gcc就可以了。
4、make編譯,編譯完成后使用echo $? 查看make命令是否執行成功,成功返回值為0,不成功則為非0;
5、make install安裝,完成后同樣使用echo $? 查看是否執行成功,成功返回值為0,不成功則為非0;
當我們安裝好apache服務器后通常會在apache2/bin/目錄形成一些相關的執行命令,其中httpd文件是apache服務器的主程序。其被設計為一個獨立運行的后台進程,它會建立一個處理請求的子進程或線程的池。Apache服務器的所有相關操作都可以通過httpd命令進行完成,但是通常情況下我們並不建議這么做,而是通過同一目錄下的apachectl命令通過調用httpd命令的方式來完成對服務器的開啟,關閉等相關的操作的。
apache安裝完成后檢測:
/usr/local/apache2/bin/apachectl -t 測試配置文件是否正確
/usr/local/apache2/bin/httpd -t 測試配置文件是否正確,和上面的命令一樣的效果;
/usr/local/apache2/bin/apachectl -l 查看apache加載的靜態模塊
/usr/local/apache2/bin/apachectl -M 把所有加載的模塊列出來。
查看曾經的編譯選項
/usr/local/apache2/build/config.nice 查看這個文件,列出來編譯的時候的選項內容;
apache啟動命令:
/usr/local/apache2/bin/apachectl start/stop/restart
/usr/local/apache2/bin/apachectl graceful/graceful-stop
start 用於啟動apache服務,首先檢查apache的配置文件是否有誤,沒有錯誤啟動服務,如有誤則輸出錯誤信息;
stop 用於停止apache服務器,如果已經停止了apache服務器則會報錯;
restart 重新啟動apache服務器,如果apache沒有啟動則啟動它;
graceful 和start參數一樣,區別在於它不會中斷正在處理的連接,也不會關閉日志。推薦使用。
graceful-stop 和stop參數一樣,區別在於它不會中斷正在處理的連接,也不會關閉日志,推薦使用。
啟動時會出現幾行類似錯誤的信息,是域名解析問題,需要在下面的配置文件修改:vim /usr/local/apach2/conf/http.conf
找到這一行 #ServerName www.example.com:80
這一項去掉#號,保存退出。再次啟動就不會報錯;
啟動apache后使用netstat -nlp |grep httpd 查看httpd 80端口是否啟用
使用curl localhost 測試網頁是否正常;
在IE瀏覽器輸入本地ip地址也可以測試網頁是否正常;
PHP安裝
PHP原始為 Personal Home Page的縮寫,現已經正式更名為 "PHP: Hypertext Preprocessor"(超文本預處理) 的縮寫。
PHP 是一種 HTML 內嵌式的語言,是一種在服務器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,被廣泛地運用。
1、下載php源碼包,下載后解壓包
2、編譯php源碼包,配置選項參數
執行完成后最后幾行報錯,提示perl沒有安裝,apxs沒有找到,apache沒有建立;
Sorry, I cannot run apxs. Possible reasons follow:
1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)
The output of /usr/local/apache2/bin/apxs follows:
./configure: /usr/local/apache2/bin/apxs: /replace/with/path/to/perl/interpreter: bad interpreter: No such file or directory
configure: error: Aborting
這里先安裝perl
安裝perl之后,再次運行./configure還是報同樣的錯誤;
perl已經安裝成功,apxs也是存在的,其實真正的原因是apxs無法運行;
沒有安裝perl的情況下,編譯安裝apache生成apxs的第一行是:
#!/replace/with/path/to/perl/interpreter -w
#!/replace/with/path/to/perl/interpreter 因為這個文件是不存在的,所以不能運行apxs;
使用apxs需要安裝perl,因為apxs使用的perl腳本;
修改配置文件:/usr/local/apache2/bin/apxs 的第一行內容
修改成#!/usr/bin/perl -w 保存退出;
建議在安裝apache之前先安裝perl,就不會出現此錯誤。
再次執行./configure 這一步,又出現下面的錯誤;
configure: error: xml2-config not found. Please check your libxml2 installation.
需要安裝libxml2-devel包
[root@yong php-5.3.28]# yum install -y libxml2-devel
安裝完成后再次執行./configure 這一步,又出現下面的錯誤;
configure: error: Cannot find OpenSSL's <evp.h>
需要安裝openssl-devel包
[root@yong php-5.3.28]# yum install -y openssl-devel
安裝完成后再次執行./configure 這一步,又出現下面的錯誤;
configure: error: Please reinstall the BZip2 distribution
需要安裝bzip2-devel包
[root@yong php-5.3.28]# yum install -y bzip2-devel
再次執行./configure 這一步,又出現下面的錯誤;
configure: error: jpeglib.h not found.
需要安裝libjpeg-devel包
[root@yong php-5.3.28]# yum install -y libjpeg-devel
再次執行./configure 這一步,又出現下面的錯誤;
configure: error: png.h not found.
需要安裝libpng-devel包
[root@yong php-5.3.28]# yum install -y libpng libpng-devel
再次執行./configure 這一步,又出現下面的錯誤;
If configure fails try --with-xpm-dir=<DIR>
configure: error: freetype.h not found.
需要安裝freetype-devel包
[root@yong php-5.3.28]# yum install -y freetype-devel
再次執行./configure 這一步,又出現下面的錯誤;
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
需要安裝libmcrypt-devel包
因為centos6.X 默認yum源沒有libmcrypt-devel這個包,需要借助第三方源,rpm安裝epel源;
rpm -ivh "http://www.aminglinux.com/bbs/data/p_w_upload/forum/month_1211/epel-release-6-7.noarch.rpm"
epel源安裝完成后再次執行# yum install -y libmcrypt-devel
再次執行./configure 終於不再出現錯誤提示,出現了歡迎使用界面。
3、make編譯,編譯完成后使用echo $? 查看make命令是否執行成功,成功返回值為0,不成功則為非0;
3、make install安裝,完成后使用echo $? 查看make install命令是否執行成功,成功返回值為0,不成功則為非0;
apache結合php測試環境
Apache的主配置文件為:/usr/local/apache2/conf/httpd.conf
需要編輯配置文件
找到這一行:AddType application/x-gzip .gz .tgz
在該行下面添加:AddType application/x-httpd-php .php
找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
修改中間的行改為:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
找到:#ServerName www.example.com:80
修改為:ServerName localhost:80
測試LAMP是否成功
啟動apache之前先檢驗配置文件是否正確,正確顯示Syntax OK,如果有錯誤,需要修改httpd.conf配置文件;
查看apache是否啟動
使用curl命令簡單測試,顯示如下為正確。
測試是否正確解析php,php的路徑地址為/usr/local/apache2/htdocs/,新建一個1.php做測試;
"\n"的作用是回車,echo后面需要加分號;保存退出后,繼續使用curl測試;
解析php出錯,如下圖,原因是修改完apache配置文件后,需要重啟服務,執行命令: /usr/local/apache2/bin/apachectl graceful
重啟之后恢復正常;
localhost相當於本地的域名,和本地環回地址和本地ip地址一樣的效果;
curl http://192.168.20.20/1.php
也可以在網頁輸入http://192.168.20.20/1.php