Linux下搭建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 #重啟系統

 

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

  二、安裝

    下載地址:http://httpd.apache.org/

    [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 安裝即可;

[root@yong ~]# cd /usr/local/src [root@yong src]# wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
 

2、解壓下載的文件

[root@yong src]# tar -zxvf mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
 

3、把解壓完的數據移動到/usr/local/mysql

提醒注意:不用自己手動添加/mysql目錄,移動的同時會把原目錄改名的。

[root@yong src]# mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql
 

4、建立mysql用戶,禁止登錄系統;

[root@yong src]# useradd -s /sbin/nologin mysql
 

5、初始化數據庫,新建/data目錄及/data/mysql子目錄,並設置/data/mysql目錄的所屬主所屬組為mysql用戶;

[root@yong src]# cd /usr/local/mysql/ [root@yong mysql]# mkdir -p /data/mysql [root@yong mysql]# chown -R mysql:mysql /data/mysql/
 
[root@yong mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ Installing MySQL system tables... OK Filling help tables... OK
 

--user 定義數據庫的所屬主,--datadir 定義數據庫的安裝路徑,建議放到大存儲空間。看到兩個"OK"說明執行正確,否則請仔細查看錯誤信息,查詢哪里出了問題;

6、拷貝配置文件

[root@yong mysql]# cp support-files/my-large.cnf /etc/my.cnf
 

模板配置文件在/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、拷貝啟動腳本文件並修改屬性

[root@yong mysql]# cp support-files/mysql.server /etc/init.d/mysqld [root@yong mysql]# chmod 755 /etc/init.d/mysqld
 

8、修改啟動腳本

[root@yong mysql]# vim /etc/init.d/mysqld
 

需要修改的地方有

"basedir=/usr/local/mysql"(mysql的安裝目錄)

"datadir=/data/mysql"(前面初始化數據庫定義的目錄)

9、把啟動腳本加入系統服務項,並設定開機啟動,啟動mysql服務;

[root@yong mysql]# chkconfig --add mysqld [root@yong mysql]# chkconfig mysqld on [root@yong mysql]# service mysqld start Starting MySQL.. [ OK ]
 

 

啟動mysqld服務時如出現以下的錯誤,

[root@yong mysql]# service mysqld start /etc/init.d/mysqld: line 260: my_print_defaults: command not found /etc/init.d/mysqld: line 263: my_print_defaults: command not found Starting MySQL ERROR! Couldn't find MySQL manager (./bin/mysqlmanager) or server (./bin/mysqld_safe)
 

出錯的原因是解壓出來的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

[root@localhost mysql]# /etc/init.d/mysqld start Starting MySQL.... SUCCESS!
 

10、查看mysqld是否啟動

[root@localhost mysql]# ps aux |grep mysqld root 1341 0.0 0.1 6680 1328 pts/0 S 20:22 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/localhost.localdomain.pid mysql 1456 0.3 4.2 381608 43504 pts/0 Sl 20:22 0:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --log-error=/data/mysql/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid --socket=/tmp/mysql.sock --port=3306
 

 

wKioL1U_UA3SgWIJAAMT7z8DejU561.jpg

wKiom1U_TqqwL56sAAD0gKrcF2c794.jpg

/usr/local/mysql/bin 目錄下的mysql為可執行命令,執行mysql開啟客戶端,測試mysql是否工作;

wKiom1U_TyCzNqjlAALFzieI3A8341.jpg

 

 

安裝apache

1、下載httpd包到/usr/local/src/目錄下;

[root@localhost src]# wget http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz
 

2、解壓httpd源碼包

[root@localhost src]# tar -zxvf httpd-2.2.16.tar.gz
 

3、配置編譯的參數

[root@localhost src]# cd httpd-2.2.16 [root@localhost httpd-2.2.16]# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so
 

--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就可以了。

[root@localhost apr]# yum install -y gcc [root@localhost bin]# yum install -y pcre pcre-devel apr apr-devel
 

4、make編譯,編譯完成后使用echo $? 查看make命令是否執行成功,成功返回值為0,不成功則為非0;

[root@localhost apr]# make [root@localhost apr]# echo $? 0
 

5、make install安裝,完成后同樣使用echo $? 查看是否執行成功,成功返回值為0,不成功則為非0;

[root@localhost apr]# make install [root@localhost apr]# echo $? 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 查看這個文件,列出來編譯的時候的選項內容;

[root@localhost httpd-2.2.29]# cat /usr/local/apache2/build/config.nice #! /bin/sh # # Created by configure "./configure" \ "--prefix=/usr/local/apache2" \ "--enable-mods-shared=most" \ "--enable-so" \ "$@"
 

 

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參數一樣,區別在於它不會中斷正在處理的連接,也不會關閉日志,推薦使用。

[root@localhost httpd-2.2.29]# /usr/local/apache2/bin/apachectl graceful httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName httpd not running, trying to start
 

啟動時會出現幾行類似錯誤的信息,是域名解析問題,需要在下面的配置文件修改:vim /usr/local/apach2/conf/http.conf

找到這一行 #ServerName www.example.com:80

這一項去掉#號,保存退出。再次啟動就不會報錯;

 

啟動apache后使用netstat -nlp |grep httpd    查看httpd 80端口是否啟用

wKioL1U_U0iTjAkGAACSyTwccq8401.jpg

使用curl localhost    測試網頁是否正常;

[root@localhost httpd-2.2.29]# curl localhost <html><body><h1>It works!</h1></body></html>
 

在IE瀏覽器輸入本地ip地址也可以測試網頁是否正常;

wKioL1U_U3DAgeH_AADTtK_E8Oo461.jpg

 

 

PHP安裝

 

PHP原始為 Personal Home Page的縮寫,現已經正式更名為 "PHP: Hypertext Preprocessor"(超文本預處理) 的縮寫。

PHP 是一種 HTML 內嵌式的語言,是一種在服務器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,被廣泛地運用。

 

1、下載php源碼包,下載后解壓包

[root@yong ~]# cd /usr/local/src/ [root@yong src]# wget http://cn2.php.net/distributions/php-5.3.28.tar.gz [root@yong src]# tar -zxvf php-5.3.28.tar.gz
 

2、編譯php源碼包,配置選項參數

[root@yong php-5.3.28]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6
 

 

執行完成后最后幾行報錯,提示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

[root@localhost php-5.3.28]# yum install -y 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包

[root@yong php-5.3.28]# yum install -y libmcrypt-devel 已加載插件:fastestmirror 設置安裝進程 Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.pubyun.com * updates: mirrors.pubyun.com No package libmcrypt-devel available. 錯誤:無須任何處理
 

因為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 終於不再出現錯誤提示,出現了歡迎使用界面。

wKiom1U_VJLyuFnZAAI1iK3oYG4454.jpg

spacer.gif3、make編譯,編譯完成后使用echo $? 查看make命令是否執行成功,成功返回值為0,不成功則為非0;

[root@yong php-5.3.28]# make [root@yong php-5.3.28]# echo $? 0
 

3、make install安裝,完成后使用echo $? 查看make install命令是否執行成功,成功返回值為0,不成功則為非0;

[root@yong php-5.3.28]# make install [root@yong php-5.3.28]# echo $? 0
 

 

apache結合php測試環境

Apache的主配置文件為:/usr/local/apache2/conf/httpd.conf

需要編輯配置文件

[root@yong php-5.3.28]# vim /usr/local/apache2/conf/httpd.conf
 

找到這一行:AddType application/x-gzip .gz .tgz

在該行下面添加:AddType application/x-httpd-php .php 

wKiom1U_VX6xINk9AACibtQC89g929.jpgspacer.gif

找到:

<IfModule dir_module>

    DirectoryIndex index.html

</IfModule>

修改中間的行改為:

<IfModule dir_module>

    DirectoryIndex index.html index.htm index.php

</IfModule>

wKioL1U_VuWzEF-DAAB4ZRg9S-c754.jpg

找到:#ServerName www.example.com:80

修改為:ServerName localhost:80

wKioL1U_VuXxpVu3AAAlpkhNmu0734.jpg

spacer.gif

 

測試LAMP是否成功

啟動apache之前先檢驗配置文件是否正確,正確顯示Syntax OK,如果有錯誤,需要修改httpd.conf配置文件;

[root@yong php-5.3.28]# /usr/local/apache2/bin/apachectl -t Syntax OK [root@yong php-5.3.28]# /usr/local/apache2/bin/apachectl start
 

 

查看apache是否啟動

[root@yong php-5.3.28]# netstat -lnp |grep httpd tcp 0 0 :::80 :::* LISTEN 3802/httpd
 

 spacer.gif

使用curl命令簡單測試,顯示如下為正確。

[root@yong php-5.3.28]# curl localhost <html><body><h1>It works!</h1></body></html>
 

測試是否正確解析php,php的路徑地址為/usr/local/apache2/htdocs/,新建一個1.php做測試;

[root@yong php-5.3.28]# vim /usr/local/apache2/htdocs/1.php <?php echo "php解析正常ok"; echo "\n"; ?>
 

"\n"的作用是回車,echo后面需要加分號;保存退出后,繼續使用curl測試;

[root@yong php-5.3.28]# curl localhost/1.php php解析正常
 

spacer.gif

解析php出錯,如下圖,原因是修改完apache配置文件后,需要重啟服務,執行命令: /usr/local/apache2/bin/apachectl graceful

spacer.gifwKioL1U_WDnRS2ghAACACFep8o4324.jpg

重啟之后恢復正常;

[root@localhost php-5.3.28]# curl localhost/1.php php解析正常ok
 

localhost相當於本地的域名,和本地環回地址和本地ip地址一樣的效果;

curl http://127.0.0.1/1.php

curl http://192.168.20.20/1.php

也可以在網頁輸入http://192.168.20.20/1.php

wKiom1U_Vx-Sdmr0AADJOZZaBiY434.jpg

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM