linuxapachephp安裝
A. 如何在linux下搭建apache伺服器
准備篇:
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埠通過防火牆
備註:很多網友把這兩條規則添加到防火牆配置的最後一行,導致防火牆啟動失敗,
正確的應該是添加到默認的22埠這條規則的下面
如下所示:
############################## 添加好之後防火牆規則如下所示 ##############################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
##################################################################################################
/etc/init.d/iptables restart #最後重啟防火牆使配置生效
2、關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq #保存,關閉
shutdown -r now #重啟系統
安裝篇:
一、安裝Apache
yum install httpd #根據提示,輸入Y安裝即可成功安裝
/etc/init.d/httpd start #啟動Apache
備註:Apache啟動之後會提示錯誤:
正在啟動 httpd:httpd: Could not reliably determine the server's fully qualif domain name, using ::1 for ServerName
解決辦法:
vi /etc/httpd/conf/httpd.conf #編輯
找到 #ServerName
修改為 ServerName #這里設置為你自己的域名,如果沒有域名,可以設置為localhost
:wq! #保存退出
chkconfig httpd on #設為開機啟動
/etc/init.d/httpd restart #重啟Apache
二、安裝Mysql
1、安裝MySQL
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,直接覆蓋即可)
2、為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 #啟動
三、安裝php5
1、安裝PHP5
yum install php
根據提示輸入Y直到安裝完成
2、安裝PHP組件,使 PHP5 支持 MySQL
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-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
配置篇
一、Apache配置
vi /etc/httpd/conf/httpd.conf #編輯文件
ServerTokens OS 在44行 修改為:ServerTokens Prod (在出現錯誤頁的時候不顯示伺服器操作系統的名稱)
ServerSignature On 在536行 修改為:ServerSignature Off (在錯誤頁中不顯示Apache的版本)
Options Indexes FollowSymLinks 在331行 修改為:Options Includes ExecCGI FollowSymLinks(允許伺服器執行CGI及SSI,禁止列出目錄)
#AddHandler cgi-script .cgi在796行 修改為:AddHandler cgi-script .cgi .pl (允許擴展名為.pl的CGI腳本運行)
AllowOverride None 在338行 修改為:AllowOverride All (允許.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行 修改為:KeepAlive On (允許程序性聯機)
MaxKeepAliveRequests 100 在83行 修改為:MaxKeepAliveRequests 1000 (增加同時連接數)
:wq! #保存退出
/etc/init.d/httpd restart #重啟
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #刪除默認測試頁
二、php配置
vi /etc/php.ini #編輯
date.timezone = PRC #在946行 把前面的分號去掉,改為date.timezone = PRC
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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/
:wq! #保存退出
/etc/init.d/mysqld restart #重啟MySql
/etc/init.d/httpd restart #重啟Apche
測試篇
cd /var/www/html
vi index.php #輸入下面內容
<?php
phpinfo();
?>
:wq! #保存退出
在客戶端瀏覽器輸入伺服器IP地址,可以看到如下圖所示相關的配置信息!
注意:apache默認的程序目錄是/var/www/html
許可權設置:chown apache.apache -R /var/www/html
至此,CentOS 6.4安裝配置LAMP伺服器(Apache+PHP5+MySQL)教程完成!
B. suse linux 怎麼安裝php運行環境
SuSE Linux上搭建apache+php+mysql環境
1.安裝apache
apache安裝包:httpd-2.2.9.tar.gz,安裝步驟如下:
1) ./configure --prefix=/usr/local/httpd-2.2.9
2) make
3) make install
2.安裝mysql
直接使用mysql非RPM二進制安裝包,如:mysql-5.1.36-linux-i686-glibc23.tar.gz,具體步驟如下:
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql &
3.安裝php依賴庫
libxml2,expat,gd,gettext,這幾個依賴庫的安裝使用標準的automake安裝方式。
4. 安裝php
php安裝包:php-5.2.6.tar.gz,安裝步驟如下:
1) ./configure --prefix=/usr/local/php-5.2.6 --enable-mbstring=LANG --with-mysql=/usr/local/mysql --with-gd=/usr/local/gd --with-gettext=/usr/local/gettext --with-libxml-dir=/usr/local/libxml2 --with-libexpat-dir=/usr/local/expat --with-apxs2=/usr/local/httpd/bin/apxs
參數--with-apxs2=/usr/local/httpd/bin/apxs是為了生成libphp5.so文件,所以是必須的。
2) make
3) make install
安裝完成後把php.ini-dist復制到/usr/local/php/lib/,並重命名為php.ini。基本到這里PHP就安裝成功了,如果中間出現錯誤,除了在配置的時候沒有選對選項之後一般都不出現錯誤。
5.修改apache配置文件httpd.conf,添加如下兩行:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
並確保文件中有以下一句話,沒有就自己添加在所有LoadMole之後:
LoadMole php5_mole moles/libphp5.so
6.啟動apache
#/usr/local/httpd/bin/apachectl restart
C. 如何在linux下安裝php環境
linux ubuntu系統安裝php環境:
安裝 Apache2:
sudo apt-get install apache2
安裝PHP模塊:
sudo apt-get install php5
安裝Mysql
sudo apt-get install mysql-server
其他模塊安裝:
sudo apt-get install libapache2-mod-php5
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
sudo apt-get install php5-gd
前兩個很容易明白,要想apache能夠解析PHP,就需要藉助這兩個模塊來找到php engine。
第三個在php操作mysql資料庫時用到,大多數人都有資料庫編程經驗,所以這就不用多解釋了
第四個GD庫。
D. 在Linux環境下,APACHE和PHP配置文件怎麼設置(RPM包)
LAMP配置與應用 LAMP(Linux+Apache+Mysql+Php)配置:
Fedora 5已默認安裝了php,可以使用rmp -q php查看其版本號
安裝mysql客戶端mysql(與perl-DBI包有依賴關系,要先安裝)
安裝mysql服務端mysql-server(與perl-DBD包有依賴關系,要先安裝)
安裝php支持mysql的模塊php-mysql(與php-pdo包有依賴關系,要先安裝)
Mysql的web管理工具phpMyAdmin
安裝
下載並解壓phpMyAdmin的包到某個web目錄(或為phpMyadmin建立虛擬主機,將該包解壓到虛擬主機目錄)
#tar -xzvf phpMyAdmin-2.10.0.2-all-languages.tar.gz
執行下列命令:
#cd phpMyAdmin
#mkdir config #建立一個用來保存配置的目錄
#chmod o+rw config #更改該目錄的許可權為屬主可讀寫
#cp config.sample.inc.php config/ #將當前目錄下的config.sample.inc.php復制到config
#chmod o+w config/config.inc.php # 使該文件的屬主具有寫許可權
運行安裝向導頁面
在瀏覽器中打開scripts/setup.php,按照向導頁面添入相關信息,最後單擊「保存」,則所做的配置保存在config/config.inc.php中。(註:如果config子目錄沒有建立,或沒有對該文件的寫許可權的話,則會出現"Cannot load or save configuration."的提示,這種情況下應選擇「DownLoad」下載到本地,再上傳到phpMyAdmin的主目錄下 ),主要有以下樣目需要添寫:
User for config auth__________________
Password for config auth__________________
phpMyAdmin control user____________________
phpMyAdmin control user password______________________
phpMyAdmin database for advanced features__________________
配置成功保存的話,執行下面命令
#mv config/config.inc.php . #將配置文件移動到phpMyAdmin的主目錄
#chmod o-r config.inc.php #為安全起見,移去該文件的讀寫許可權
在瀏覽器中打開phpMyAdmin對應的站點
phpbb應用
註:以下頭3步有關mysql的操作也可以在webmin中完成.
mysql的賬號管理
1) 要設置root用戶的密碼為123456,則在系統提示符下執行下面的命令:
#mysqladmin -u root -p password "123456"
2) 要在mysql命令行客戶端,設置root用戶的密碼為123456,則需執行以下命令:
mysql> use mysql;
mysql> update user set Password=password('123456') where User='root';
mysql> flush privileges;
3) 如果要新增用戶u1,給他授予對資料庫bb中所有表(*)的所有許可權(all),密碼設為888888,則在mysql提示符下:
mysql> grant all on bb.* to 'u1'@'localhost' identified by '888888';
如果root用戶有密碼,則進入mysql客戶端需用下面的命令:#mysql -u root -p
新建phpbb論壇所要用到的資料庫:mysql>create database XXX;
為phpbb所在目錄新建虛擬主機
在瀏覽器中訪問該虛擬主機,以安裝phpbb
注意:在安裝結尾,選擇下載配置文件,自行上傳.然後刪除install,contrib兩個目錄
php配置實例
1.使用Apache配置基本的web站點,使客戶端瀏覽簡體中文網頁能正常顯示、新增支持的主頁文件index.htm index.php default.htm default.html。最後要能在其它計算機上通過域名訪問,比如www.yyy.net03.org。
2.在web站點下實現虛擬目錄,即web站點的子目錄,該子目錄與主目錄不一定是上下目錄關系.同時,允許該目錄有目錄列表功能(即在沒有找到主文件件的時候,顯示當前目錄下的列表).
3.實現Linux用戶個人站點.
4.配置多個基於名稱的虛擬主機,比如www1.yyy.net03.org,www2.yyy.net03.org。最後要能在其它計算機上通過域名訪問。
5.配置多個基於IP的虛擬主機,比如lit.yyy.net03.org,mil.yyy.net03.org。最後要能在其它計算機上通過域名訪問。
6.配置LAMP環境
7.配置phpbb論壇,並使該論壇可以通過形如bbs.yyy.net03.org的形式訪問。
(*)8. 刪除系統原有Apache、php、Mysql項目,使用源文件安裝最新版本的Apache、php、Mysql
利用源代碼安裝LAMP
首先要在相關網站獲取Apache、Mysql、Php的源碼包,一般擴展名為xxx.tar.gz.
刪除系統原有Apache、php、Mysql項目,可能要用到下面的命令
# rpm -e xxx
# rpm -e xxx nodeps #不考慮依賴關系而刪除xxx包
# rpm -e xxx yyy zzz #刪除xxx,yyy,zzz包
如果無法刪除一個RPM包,可以使用以下兩步:
#rpm -f /var/lib/rpm
#rpm --rebuilddb
或:
#rpm -ivh --justdb xxx
#rpm -e xxx
1. 安裝Apache(httpd-2.2.8)
# ./configure --enable-so
# make
# make install
# /usr/local/apache2/bin/apachectl start
2. 安裝Mysql(Mysql-5.0.22)
1) 建立用戶及組,如果在/etc/passwd中已有該用戶,則下列操作可以省略
shell> groupadd mysql
shell> useradd -g mysql mysql
2) 解壓、配置編譯安裝
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql #配置(指定mysql安裝路徑)
shell> make #編譯
shell> make install #安裝
3) 配置mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf #建立mysql配置文件
shell> cp support-files/mysql.server /etc/init.d/ #建立mysql控制腳本
shell> cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql #建立mysql系統資料庫
shell> chown -R root . #更改當前目錄及子目錄所有者
shell> chown -R mysql var #更改var目錄及子目錄所有者
shell> chgrp -R mysql . #更改當前目錄及子目錄所屬組
4) 啟動mysql
shell> bin/mysqld_safe --user=mysql & #以後台模式運行mysqld服務
shell> chkconfig --list | less #查看服務列表
shell> chkconfig --add mysql.server #將mysql.server添加到服務列表
shell> chkconfig --list | less #查看服務列表
shell> service mysql.server restart
shell> /usr/local/mysql/bin/mysqladmin -u root -p password '888888' #更改mysql管理用戶root的密碼
3. 安裝php(php5 on Apache 2 Shared Mole Version)
1) tar -zxvf php-NN.tar
2) cd php-NN
3) ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql
4) make
5) make install
6) 建立php配置文件php.ini
# cp php.ini-dist /usr/local/lib/php.ini
7) 編輯http配置文件 httpd.conf 使之載入PHP模塊
對於 PHP 4,添加下句:
LoadMole php4_mole moles/libphp4.so
對於 PHP 5,添加下句:
LoadMole php5_mole moles/libphp5.so
8) 編輯http配置文件 httpd.conf,使之能解析擴展名為php的文件
AddType application/x-httpd-php .php .phtml
9) 編輯http配置文件 httpd.conf,修改主頁文件
DirectoryIndex index.php index.htm index.html
10) 重啟httpd服務
# /usr/local/apache2/bin/apachectl start
或
# /usr/local/apache/bin/apachectl -k start
11) 編輯index.php文件,並在瀏覽器中訪問該站點,如果出現關於php的當前配置信息(其中有mysql的配置項),表示LAMP安裝成功。
$vi index.php
<?php
phpinfo()
?>
E. 在linux系統中怎麼搭建php環境
Linux下配置安裝PHP環境
參考別人的做法,遇到問題上網查,下面就是安裝步驟.
一、安裝Apache2.2.22
1、到官網下載 http://httpd.apache.org/download.cgi
2、解壓
tar -zxvf httpd-2.2.22.tar.gz
3、建立目標文件夾(注意以下所有操作都時在root用戶下執行的)
mkdir /usr/local/apache2
也就是說等下安裝的apache2要安裝到這個文件夾裡面
4、配置
回到原來解壓之後產生的文件夾
./configure --prefix=/usr/local/apache2 --enable-mole=shared
要加上後面的參數,否則無法使用php,-enable-mole=shared表示Apache可以動態的載入模塊
這一步,出現了很多問題:
第一個錯誤為:
checking for APR... no
configure: error: APR not found. Please read the documentation.
解決方法:
download the latest versions of both APR and APR-Util from Apache APR, unpack them into ./srclib/apr and ./srclib/apr-util (be sure the domain names do not have version numbers; for example, the APR distribution must be under ./srclib/apr/)
then do
./configure --with-included-apr
原文章地址:http://stackoverflow.com/questions/9436860/apache-httpd-setup-and-installatio
另外一種解決方法為:
分別安裝APR和APR-util,安裝方法為:首先下載這兩個文件,然後解壓,進入解壓後目錄,然後把APR和APR-util分別安裝到/usr/local/文件夾的apr和apr-util文件夾下。APR的具體安裝方法為:
[root@localhost 52lamp]# tar -zxvf apr-1.4.2.tar.gz //unzip -o apr-1.4.2.zip
[root@localhost 52lamp]# cd apr-1.4.2
[root@localhost apr-1.4.2]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.4.2]# make
[root@localhost apr-1.4.2]# make install
安裝Apr-util 在./confiure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
其他步驟類似。
第二個錯誤為:no acceptable C compiler found in $Path
直接運行 yum install gcc,安裝Gcc即可
第三個問題為:pcre-config for libpcre not found
解決方法就是 下載prce安裝包,和APR類似,安裝到/usr/local/pcre文件夾下面即可。PS:fedora下安裝c++編譯器g++的命令為:yum install gcc-c++ 。
5、編譯
make
6、安裝
make install
7、啟動,重啟和停止 ,先切換到安裝完成後的目錄/usr/local/apache2/bin
./apachectl -k start
./apachectl -k restart
./apachectl -k stop
8、配置文件(滿足最基本的配置)
編輯 /usr/local/apache2/conf/httpd.conf 文件
找到:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在後面添加:
AddType application/x-httpd-php .php(使Apcche支持PHP)
AddType application/x-httpd-php-source .php5
找到:
<IfMole dir_mole>
DirectoryIndex index.html
</IfMole>
添加:
<IfMole dir_mole>
DirectoryIndex index.html index.php
</IfMole>
找到:
#ServerName www.example.com:80
修改為:
ServerName 127.0.0.1:80或者ServerName localhost:80
記得要去掉前面的「#」
9、測試
在瀏覽器里輸入http://127.0.0.1
如果出現It Works!說明成功。這是我的測試結果:O(∩_∩)O哈哈~
10、修改默認的Web站點目錄
默認的目錄為 "/usr/local/apache2/htdocs",修改apache的配置文件httpd.conf,比如在新建一個 /home/gyw/WebSite的目錄作為apache的站點目錄
找到DocumentRoot這一行修改為:DocumentRoot "/home/gyw/WebSite"
找到 <Directory> 這一行修改為:<Directory "/home/gyw/WebSite">
測試:修改到文件夾出現錯誤:
「You don't have permission to access /index.html on this server.」
解決方法:
更改文件許可權;chmod 755 index.html
打開apache配置文件httpd.conf,找到這么一段:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
deny from all
Satisfy all
</Directory>
測試結果如下:
二、安裝PHP
1、 下載
http://www.php.net/downloads.php
2、解壓
tar -zxvf php-5.3.16.tar.gz
3、建立目標文件夾
mkdir /usr/local/php
也就是說等下安裝的php要安裝到這個文件夾裡面
4、配置
回到原來解壓後的文件夾
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
注意這里有一個-with-apxs2=/usr/local/apache/bin/apxs選項,其中apxs是在安裝Apache時產生的,apxs是一個為Apache HTTP伺服器編譯和安裝擴展模塊的工具,使之可以用由mod_so提供的LoadMole指令在運行時載入到Apache伺服器中。我的理解是通過這個工具把PHP模塊動態載入到Apache中
出現錯誤:configure: error: xml2-config not found. Please check your libxml2 installation.
運行yum install libxml2,然後再運行yum install libxml2-devel安裝完畢後,重新運行上面的./configure命令。
5、編譯
make
6、測試編譯
make test
7、安裝
make install
8、配置文件
cp /usr/local/src/php-5.3.16/php.ini-development /usr/local/php/lib/php.ini
把原來位於源代碼裡面的php.ini-development拷貝到/usr/local/php/lib/php.ini下,並且重命名為php.ini
9.重啟apache
10、測試
在apache的htdocs下建立一個php文件test.php,裡面的內容如下:
<?php
phpinfo();
?>
然後在瀏覽器里輸入http://127.0.0.1/test.php
如果出現php的相關配置,成功,如果什麼都沒有輸入,說明失敗,重新以上步驟或者查找原因
如果決定在安裝後改變配置選項,只需重復最後的三步configure, make, 以及 make install,然後需要重新啟動 Apache 使新模塊生效。Apache不需要重新編譯。
測試結果如下圖:
三、安裝MySql
1、下載
到官網下載mysql-5.1.65.tar.gz(注意是源碼包)
2、解壓
tar -zxvf mysql-5.1.65.tar.gz
3、建立目標文件夾
mkdir /usr/local/mysql
也就是說等下安裝的mysql要安裝到這個文件夾裡面
4、配置
./configure --prefix=/usr/local/mysql/
在./configure時出現錯誤:error: No curses/termcap library found
下載安裝相應軟體包
yum list|grep ncurses
yum -y install ncurses-devel
yum install ncurses-devel
5、編譯
make
6、安裝
make install
7、啟動
MySQL服務並不會自動啟動,還需要先初始化MySQL資料庫,操作如下:
cd /usr/local/mysql/bin
sudo ./mysql_install_db --user=root
注意,這里最後的root是指可以操作資料庫的用戶,可以是當前用戶,也可以新建用戶,與linux上的root用戶是兩回事,可以自己取一個名字
./mysqld_safe --user=root & 這條命令負責啟動mysql服務的守護進程,此外最後的&時必須的,因為希望守護進程在後台運行
這里的root就是剛才的那個
8、為根用戶創建密碼
./mysqladmin -u root password 『123456』
如果root已經設置過密碼,採用如下方法
./mysqladmin -u root password oldpass 『123456』
9、測試
mysql -u root -p
會提示輸入密碼,就用剛才設置的密碼
123456
如果出現mysql>,說明連接成功了,下面通過命令 創建一個資料庫、建一個表,增加一條記錄,為後面的測試准備
mysql> create database gywtest;
mysql> use gywtest;
mysql> create table student(id int(4) not null primary key auto_increment,stuname char(20));
mysql> insert into student(stuname) values('Tom');
注意每條命令後面有個分號,如果上面的都成功,後面就可以用這個測試。
四、將PHP與MySql結合起來
1、重新配置PHP,改變配置選項,只需重復PHP安裝時的最後的三步configure, make, 以及 make install,然後需要重新啟動 Apache 使新模塊生效,Apache不需要重新編譯。
2、配置
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/local/mysql/bin/mysql_config 注意mysql_config 的路徑
3、編譯 make
4、安裝 make installe
5、測試 寫一個頁面test.php,放在apache的web目錄下,測試上面用命令創建的資料庫
<?php
$mysqli=new mysqli();
$mysqli->connect('localhost','root','123456','gywtest');
// 創建查詢
$sqlstr='select * from student';
//發送查詢給MySql
$result=$mysqli->query($sqlstr);
while($row=$result->fetch_object())
{
$name=$row->stuname;
echo $name;
}
?>
Fatal error: Class 'mysqli' not found in /home/lufangtao/Project/DB.php on line 3
解決方法:
/usr/local/php/bin/phpize 這里回車運行
出錯:
Cannot find config.m4.
Make sure that you run './phpize' in the top level source directory of the mole
解決方法:
PHP源碼包文件夾下的EXT文件夾就是放置著目前版本的可用擴展,CD進去看看都有哪些你需要的?應該看到mysqli文件夾了吧~~~
在當前目錄下執行phpize
[root@localhost mysqli]#/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Modeule Api No: 20090626
Zend Extension Api No: 220090626
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
解決方法:
yum install autoconf再次運行上面的命令即可。
[root@localhost mysqli]#./configure –prefix=/opt/mysqli –with-php-config=/opt/php/bin/php-config –with-mysqli=/opt/mysql/bin/mysql_config
[root@localhost mysqli]#make
[root@localhost mysqli]#make install
安裝完成後會有提示擴展所在目錄路徑,如:
/opt/php/lib/php/extensions/no-debug-zts-20090626php
所需的mysqli.so便會在此目錄下,接下來修改/opt/php/etc/下的php.ini文件,加入mysqli擴展,即加入如下一行:
extension=/opt/php/lib/php/extensions/no-debug-zts-20090626/mysqli.so
這里還是回出現錯誤:
參考博客http://www.cnblogs.com/wangtao_20/archive/2011/03/07/1973621.html
解決不用擴展連接MySQL的方法。
最終還是沒有解決MySQLi連接的問題,但是可以使用MySQL資料庫了,下面是測試程序
復制代碼
<?php
$link=mysql_connect('localhost','root','123456');
if(!$link) echo "F!";
else echo "S!";
mysql_select_db("students") or die("Could not select database");
$query="SELECT * FROM student;";
$result=mysql_query($query) or die("Query failed");
print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print "\t<tr>\n";
foreach ($line as $col_value) {
print "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n"; }
print "</table>\n";
/* 釋放資源 */
mysql_free_result($result);
mysql_close();
?>
~
F. linux怎樣一鍵安裝web環境php+apache+mysql
首先要先下載下來一鍵安裝包執行命令 wget http://www.xxxx.com/sh-php.zip
下載完成後解壓zip的文件包解壓命令「uzip sh-php.zip」
加壓完成以後,給解壓的文件夾賦許可權,在安裝的時候需要許可權,執行命令「chmod -R 777 filename/」最高的許可權
cd fielname 進入文件夾,找到install.sh 執行sh install.sh這個命令進行安裝。
執行命令以後會提示你安裝什麼版本的軟體,根據自己的需要來選擇您需要的軟體
選擇完成以後,輸入y繼續然後就會下載依賴的一些系統組件
下面就是等待下載完成,編譯,make 安裝make
編譯安裝完成以後,會到這個account.log的文件裡面會有mysql的密碼和ftp的密碼,安裝完成以後環境就配置完成了,就可以部署網站了
G. linux怎樣一鍵安裝web環境php+apache+mysql
准備好連接linux伺服器的工具,推薦用xshell和xftp。
xshell 是一個強大的安全終端模擬軟體,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 協議。
下載地址:/softs/56322/view/28283/view/926025.htm
引用
在高並發連接的情況下,Nginx是Apache伺服器不錯的替代品。Nginx同時也可以作為7層負載均衡伺服器來使用。根據我的測試結果,Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3萬以上的並發連接數,相當於同等環境下Apache的10倍。
這里我們選擇nginx,輸入n,回車
到這里,我們就正式進入環境安裝環節了。你可以泡杯茶休息下。一般這個過程會持續半個小時的樣子。
為了防止斷掉和伺服器的連接,可以新開一個shell窗口,將滑鼠挪到窗口標簽欄,右擊,如下圖所示:
可以看到,新開了一個窗口
輸入top命令
可以看到一直在跳動的系統資源統計
好了。做完了這一些就讓我們靜靜的等待吧!程序正在自動編譯安裝服務!
到這個界面說明安裝已經結束了。
大家有疑問了。那我怎麼登錄ftp和mysql呢?
在命令行里輸入:
cat account.log
看到了沒?
ftp的用戶名是:www
mysql的用戶名是:root
密碼就在屏幕上了!
好了。所有配置都已經完成了。是不是很簡單!
----------------------------------------------------------------------
網站目錄:/alidata/www
伺服器軟體目錄:/alidata/server
Mysql 目錄 /alidata/server/mysql
Php目錄/alidata/server/php
選擇了nginx 那麼會有一個nginx 目錄在
/alidata/server/nginx/
Nginx 配置文件在/alidata/server/nginx/conf
Nginx虛擬主機添加 你可以修改/alidata/server/nginx/conf/vhosts/phpwind.conf
選擇了apache那麼會有一個httpd 目錄在
/alidata/server/httpd
apache 配置文件在/alidata/server/httpd/conf
apache虛擬主機添加 你可以修改/alidata/server/httpd/conf/vhosts/phpwind.conf
H. 如何在Linux下搭建apache伺服器
Apache是世界使用排名第一的Web伺服器軟體。它可以運行在幾乎所有廣泛使用的計算機平台上,由於其跨平台和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。
在Linux下搭建apache伺服器可以有多種方法:
一種是源碼編譯安裝,這種方法耗時間,對不熟悉的人來說不建議
另外一種則是yum安裝,下面給出yum安裝方法
1、安裝Apache
yuminstallhttpd
2、安裝目錄介紹
Apache默認將網站的根目錄指向/var/www/html 目錄
默認的主配置文件是/etc/httpd/conf/httpd.conf
配置存儲在的/etc/httpd/conf.d/目錄
I. linux中怎樣安裝OA,APACHE ,MYSQL,PHP
一、系統約定
軟體源代碼包存放位置:/usr/local/src
源碼包編譯安裝位置(prefix):/usr/local/software_name
腳本以及維護程序存放位置:/usr/local/sbin
MySQL 資料庫位置:/var/lib/mysql(可按情況設置)
Apache 網站根目錄:/home/www/wwwroot(可按情況設置)
Apache 虛擬主機日誌根目錄:/home/www/logs(可按情況設置)
Apache 運行賬戶:www:www
二、系統環境部署及調整
1. 檢查系統是否正常
# more /var/log/messages(檢查有無系統級錯誤信息)
# dmesg(檢查硬體設備是否有錯誤信息)
# ifconfig(檢查網卡設置是否正確)
# ping www.163.com(檢查網路是否正常)
2. 關閉不需要的服務
# ntsysv
以下僅列出需要啟動的服務,未列出的服務一律推薦關閉:
atd
crond
irqbalance
microcode_ctl
network
sendmail
sshd
syslog
3. 重新啟動系統
# init 6
4. 配置 vim
# vi /root/.bashrc
在 alias mv='mv -i' 下面添加一行:alias vi='vim' 保存退出。
# echo 'syntax on' > /root/.vimrc
5. 使用 yum 程序安裝所需開發包(以下為標準的 RPM 包名稱)
# yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kernel
6. 定時校正伺服器時鍾,定時與中國國家授時中心授時伺服器同步
# crontab -e 加入一行: */30 * * * * ntpdate 210.72.145.44
7. 源碼編譯安裝所需包 (Source)
(1) GD2
# cd /usr/local/src
# tar xzvf gd-2.0.34.tar.gz
# cd gd-2.0.34
# ./configure --prefix=/usr/local/gd2
# make
# make install
(2) LibXML2
# cd /usr/local/src
# tar xjvf libxml2-2.6.30.tar.bz2
# cd libxml2-2.6.30
# ./configure --prefix=/usr/local/libxml2
# make
# make install
(3) LibMcrypt
# cd /usr/local/src
# tar xjvf libmcrypt-2.5.8.tar.bz2
# cd libmcrypt-2.5.8
# ./configure –prefix=/usr/local/libmcrypt
# make
# make install
(4) Apache日誌截斷程序
# cd /usr/local/src
# tar xzvf cronolog-1.7.0-beta.tar.gz
# cd cronolog-1.7.0-beta
# ./configure –prefix=/usr/local/cronolog
# make
# make install
8. 升級OpenSSL和OpenSSH
# cd /usr/local/src
# tar xzvf openssl-0.9.8e.tar.gz
# cd openssl-0.9.8e
# ./config --prefix=/usr/local/openssl
# make
# make test
# make install
# cd ..
# tar xzvf openssh-4.7p1.tar.gz
# cd openssh-4.7p1
# ./configure \
"--prefix=/usr" \
"--with-pam" \
"--with-zlib" \
"--sysconfdir=/etc/ssh" \
"--with-ssl-dir=/usr/local/openssl" \
"--with-md5-passwords"
# make
# make install
(1)禁用 SSH V1 協議
找到:
#Protocol 2,1
改為:
Protocol 2
(2)禁止root直接登錄
此處先建立一個普通系統用戶:
# useradd username
# passwd username
找到:
#PermitRootLogin yes
改為:
PermitRootLogin no
(3)禁用伺服器端GSSAPI
找到以下兩行,並將它們注釋:
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
(4)禁用 DNS 名稱解析
找到:
#UseDNS yes
改為:
UseDNS no
(5)禁用客戶端 GSSAPI
# vi /etc/ssh/ssh_config
找到:
GSSAPIAuthentication yes
將這行注釋掉。
最後,確認修改正確後重新啟動 SSH 服務
# service sshd restart
# ssh -v
確認 OpenSSH 以及 OpenSSL 版本正確。
三、編譯安裝L.A.M.P環境
1. 下載軟體
# cd /usr/local/src
httpd-2.2.6.tar.bz2
mysql-5.0.45-linux-i686-glibc23.tar.gz
php-5.2.4.tar.bz2
ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz
2. 安裝MySQL
# tar xzvf mysql-5.0.45-linux-i686-glibc23.tar.gz
# mv mysql-5.0.45-linux-i686-glibc23 /usr/local/
# ln -s /usr/local/ mysql-5.0.45-linux-i686-glibc23 /usr/local/mysql
# useradd mysql
# chown -R mysql:root /usr/local/mysql/
# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql
# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
# chown root:root /etc/rc.d/init.d/mysqld
# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 3 5 mysqld on
# cp ./support-files/my-huge.cnf /etc/my.cnf
# mv /usr/local/mysql/data /var/lib/mysql
# chown -R mysql:mysql /var/lib/mysql/
# vi /etc/my.cnf
修改以下內容:
(1) 在 [mysql] 段增加一行:
default-character-set = gbk | latin1 | utf8 | big5
(2) 在 [mysqld] 段增加或修改:
datadir = /var/lib/mysql
--skip-innodb
default-character-set = gbk | latin1 | utf8 | big5
--wait-timeout = 3 | 5 | 10
max_connections = 256 | 384 | 512
max_connect_errors = 10000000
thread_concurrency = CPU個數×2
將 log-bin 注釋
# bin/mysqladmin -u root password 'password_for_root'
3. 編譯安裝Apache
# cd /usr/local/src
# tar xjvf httpd-2.2.6.tar.bz2
# cd httpd-2.2.6
# ./configure \
"--prefix=/usr/local/apache2" \
"--with-included-apr" \
"--enable-so" \
"--enable-deflate=shared" \
"--enable-expires=shared" \
"--enable-rewrite=shared" \
"--enable-static-support" \
"--disable-userdir"
# make
# make install
# echo '/usr/local/apache2/bin/apachectl start ' >> /etc/rc.local
4. 編譯安裝PHP
# cd /usr/local/src
# tar xjvf php-5.2.4.tar.bz2
# cd php-5.2.4
# ./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=/usr/local/libxml2" \
"--with-gd=/usr/local/gd2" \
"--with-jpeg-dir" \
"--with-png-dir" \
"--with-bz2" \
"--with-freetype-dir" \
"--with-iconv-dir" \
"--with-zlib-dir " \
"--with-openssl=/usr/local/openssl" \
"--with-mcrypt=/usr/local/libmcrypt" \
"--enable-soap" \
"--enable-gd-native-ttf" \
"--enable-ftp" \
"--enable-mbstring" \
"--enable-exif" \
"--disable-ipv6" \
"--disable-cgi" \
"--disable-cli"
# make
# make install
# mkdir /usr/local/php/etc
# cp php.ini-dist /usr/local/php/etc/php.ini
5. 整合Apache與PHP
# vi /usr/local/apache2/conf/httpd.conf
找到:
AddType application/x-gzip .gz .tgz
在該行下面添加
AddType application/x-httpd-php .php
找到:
<IfMole dir_mole>
DirectoryIndex index.html
</IfMole>
將該行改為
<IfMole dir_mole>
DirectoryIndex index.html index.htm index.php
</IfMole>
找到:
#Include conf/extra/httpd-mpm.conf
#Include conf/extra/httpd-info.conf
#Include conf/extra/httpd-vhosts.conf
#Include conf/extra/httpd-default.conf
去掉前面的「#」號,取消注釋。
注意:以上 4 個擴展配置文件中的設置請按照相關原則進行合理配置! 修改完成後保存退出。
# /usr/local/apache2/bin/apachectl restart
6. 查看確認L.A.M.P環境信息、提升 PHP 安全性
在網站根目錄放置 phpinfo.php 腳本,檢查phpinfo中的各項信息是否正確。
確認 PHP 能夠正常工作後,在 php.ini 中進行設置提升 PHP 安全性。
# vi /etc/php.ini
找到:
disable_functions =
設置為:
phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,
proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,
readlink,symlink,popepassthru,stream_socket_server
四、伺服器安全性設置
1. 設置系統防火牆
# vi /usr/local/sbin/fw.sh
將以下腳本命令粘貼到 fw.sh 文件中。
#!/bin/bash
# Stop iptables service first
service iptables stop
# Load FTP Kernel moles
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
# Inital chains default policy
/sbin/iptables -F -t filter
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
# Enable Native Network Transfer
/sbin/iptables -A INPUT -i lo -j ACCEPT
# Accept Established Connections
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# ICMP Control
/sbin/iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
# WWW Service
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# FTP Service
/sbin/iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# SSH Service
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT # chmod 755 /usr/local/sbin/fw.sh
# echo '/usr/local/sbin/fw.sh' >> /etc/rc.local