1、怎麼在linux搭建web伺服器
1.開始說明
本教程中使用的IP地址是192.168.0.100,主機名稱為Server1.example.com 這些設置可能會有所不同,你需要根據不同情況進行修改。
CentOS 6.2下安裝MySQL
2.開始安裝MySQL5
首先我們應該先用下面的命令安裝MySQL:
yum install mysql mysql-server
然後我們需要創建MySQL系統的啟動鍵鏈接啟動MySQL伺服器,這樣以便於MySQL在系統啟動時自動啟動
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
為MySQL root帳戶設置密碼:
mysql_secure_installation
會出現下面的一系列提示:
root@server1 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] <-- ENTER
New password: <-- yourrootsqlpassword
Re-enter new password: <-- yourrootsqlpassword
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
proction environment.
Remove anonymous users? [Y/n] <-- ENTER
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <-- ENTER
... Success!
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a proction environment.
Remove test database and access to it? [Y/n] <-- ENTER
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] <-- ENTER
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
[root@server1 ~]#
CentOS 6.2下安裝Apache
3.安裝阿帕奇2
Apache2的是作為一個CentOS的軟體包,因此我們可以直接用下面命令安裝它:
yum install httpd
現在配置系統在引導時啟動Apache
chkconfig --levels 235 httpd on
並啟動Apache
/etc/init.d/httpd start
現在,您的瀏覽器到http://192.168.0.100,你應該看到Apache2的測試頁:
Apache 2測試網頁
Apache的默認文檔根目錄是在CentOS上的/var/www/html 目錄 ,配置文件是/etc/httpd/conf/httpd.conf。配置存儲在的/etc/httpd/conf.d/目錄。
4.安裝PHP5
我們可以用下面的命令來安裝PHP5
yum install php
安裝完需要重啟
/etc/init.d/httpd restart
CentOS 6.2下安裝PHP5
5.我們可以安裝PHP5和Apache的PHP5的模塊如下:
默認網站的文件根目錄是在/srv/www/html中。現在我們將在該目錄中創建一個小型PHP文件(info.php的)在瀏覽器中調用它。該文件將顯示很多關於我們的PHP安裝,如安裝的PHP版本和有用的一些細節。
vi /var/www/html/info.php
修改細節
現在,我們可以用瀏覽器訪問例如http://192.168.0.100/info.php文件
PHP頁面
正如你所看到的,PHP5的工作,它通過Apache 2.0的處理程序,在伺服器API線。如果你繼續向下滾動,你會看到所有在PHP5中已經啟用的模塊。MySQL是沒有列出,這意味著我們沒有在PHP5支持MySQL。
6.PHP5獲得MySOL的支持
讓PHP在MySQL中獲得支持,我們可以安裝的php-mysql軟體包。安裝一些其他的PHP5模塊,以及您可能需要的應用程序,這是一個好主意:
yum search php
還安裝需要安裝的
yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc
現在重新啟動Apache2的:
/etc/init.d/httpd restart
現在,重載http://192.168.0.100/info.php在您的瀏覽器,並再次向下滾動到模塊部分。現在,你應該找到許多新的模塊,包括MySQL模塊:
MySQL頁面
CentOS 6.2下安裝phpMyAdmin
7.安裝phpMyAdmin
phpMyAdmin是一個網路介面,通過它可以管理你的MySQL資料庫。
首先,我們使CentOS系統RPMForge軟體庫的phpMyAdmin,而不是官方的CentOS 6.2庫:
所以需要導入RPMForge的GPG密鑰:
rpm --import
x86_64系統:
yum install
在i386系統:
yum install
安裝phpmyadmin
yum install phpmyadmin
現在我們可以設置phpMyAdmin,了我們可以改變Apache的配置來讓phpMyAdmin不僅僅只能從localhost登錄。
vi /etc/httpd/conf.d/phpmyadmin.conf
配置
下一步,我們從HTTP改變的phpMyAdmin的cookie來身份驗證:
vi /usr/share/phpmyadmin/config.inc.php
修改身份驗證
重啟阿帕奇
/etc/init.d/httpd restart
在地址欄輸入http://192.168.0.100/phpMyAdmin/:你就可以訪問phpMyAdmin了。
phpmyadmin頁面
CentOS可以得到RHEL的所有功能,甚至是更好的軟體。但CentOS並不向用戶提供商業支持,當然也不負上任何商業責任。
如果你要將你的RHEL轉到CentOS上,因為不希望為RHEL升級而付費。當然,你必須有豐富linux使用經驗,因此RHEL的商業技術支持對你來說並不重要。但如果你是單純的業務型企業,那麼還是建議你選購RHEL軟體並購買相應服務。這樣可以節省你的IT管理費用,並可得到專業服務。
2、Linux中最常用的Web伺服器軟體是什麼?有何特點?
apache
Apache是世界使用排名第一的Web伺服器軟體。它可以運行在幾乎所有廣泛使用的計算機平台上。
Apache源於NCSAhttpd伺服器,經過多次修改,成為世界上最流行的Web伺服器軟體之一。Apache取自「a patchy server」的讀音,意思是充滿補丁的伺服器,因為它是自由軟體,所以不斷有人來為它開發新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、性能穩定,並可做代理伺服器來使用。
本來它只用於小型或試驗Internet網路,後來逐步擴充到各種Unix系統中,尤其對Linux的支持相當完美。Apache有多種產品,可以支持SSL技術,支持多個虛擬主機。Apache是以進程為基礎的結構,進程要比線程消耗更多的系統開支,不太適合於多處理器環境,因此,在一個Apache Web站點擴容時,通常是增加伺服器或擴充群集節點而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web伺服器,市場佔有率達60%左右。世界上很多著名的網站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的產物,它的成功之處主要在於它的源代碼開放、有一支開放的開發隊伍、支持跨平台的應用(可以運行在幾乎所有的Unix、Windows、Linux系統平台上)以及它的可移植性等方面。
Apache的誕生極富有戲劇性。當NCSA WWW伺服器項目停頓後,那些使用NCSA WWW伺服器的人們開始交換他們用於該伺服器的補丁程序,他們也很快認識到成立管理這些補丁程序的論壇是必要的。就這樣,誕生了Apache Group,後來這個團體在NCSA的基礎上創建了Apache。
Apache web伺服器軟體擁有以下特性:
支持最新的HTTP/1.1通信協議
擁有簡單而強有力的基於文件的配置過程
支持通用網關介面
支持基於IP和基於域名的虛擬主機
支持多種方式的HTTP認證
集成Perl處理模塊
集成代理伺服器模塊
支持實時監視伺服器狀態和定製伺服器日誌
支持伺服器端包含指令(SSI)
支持安全Socket層(SSL)
提供用戶會話過程的跟蹤
支持FastCGI
通過第三方模塊可以支持Java Servlets
如果你准備選擇Web伺服器,毫無疑問Apache是你的最佳選擇。
Apache有名的幾個項目介紹
HTTP Server
這個在前面的段落介紹過了,Apache已經是他的代號了
ActiveMQ
免費開源由java編寫符合JMS1.1標準的消息中間件。
另外,它也支持通過除java語言外的語言的使用
Ant
這個太出名了。標準的批處理工具。是一套基於java的程序打造工具
Commons
一些常用的工具類庫,包括common-pool,dbcp,fileupload,Common-beans等。
Excalibur
它的主要產品是一個由java寫成的,名字叫做Fortress(要塞) 的輕量級的可嵌入式反向控制容器。
iBATIS
並入的一個項目,是ORM的一個很流行的工具
Geronimo
是Apache軟體基金會為了創造一個兼容j2ee的容器,而整理出來的一個新成果
Jakarta
許多Java子項目的集成,tomcat,ant等就是從這里孵化出去的。
James
是一套用java開發的郵件、新聞組、消息伺服器。它使用的avalon組件框架。目前支持 SMTP, POP3 和 NNTP 很快也會支持 IMAP
Logging
基於java的可靠,快速,擴展性強的日誌工具
Maven
是一套java開發的工程綜合管理工具。它基於工程對象模型(POM)的理念
Portals
門戶產品
Struts
一套通過servlets和jsp來搭建web應用的MVC框架
Tomcat
用量最大的免費的Java伺服器
3、Linux怎麼配置Web伺服器
工具/原料
Linux操作系統
Web伺服器配置詳解
方法/步驟
1.Apache是Linux下的Web伺服器,Apache用的是靜態頁面,需要載入模塊來支持動態頁面,會動態實時的調整進程來處理,最合理的使用多核CPU資源,支持虛擬主機應用,多個Web站點共享一個IP地址。
安裝Web服務
先安裝Web服務,通過命令yum groupinstall命令進行安裝,建議用groupinstall而不用Install是因為groupinstall,會把該服務所有相關的服務包一起安裝,這樣不會有丟失。
2.通過service httpd restart來開啟服務,這里用restart而不用start的原因是restart更安全,因為不知道該服務是否已經開啟,如果已經start了再次用start可能會有意外的問題產生,故這里用restart.
3.通過命令chkconfig httpd on來開啟httpd服務在下次開機後,仍然是開啟有效的,這樣的好處在於通過設置自動開啟服務,避免人為失誤操作,也會保證計算機重啟或者斷電後服務還是開啟的。
4.驗證httpd服務是否正常開啟,是否能夠對外提供服務,進入/var/www/html/,這里是主站點,寫一個簡單的頁面,然後重定向到index.html,這是默認的首頁。通過http訪問該服務,發現已經成功服務該站點。
5.通過命令vim /etc/httpd/conf/httpd.conf可以對httpd配置文件進行修改,也可以用配置文件裡面的功能,有些功能用#號注釋掉了,如果想使用該功能的話,直接刪除#號,可以讓內置的配置文件該功能生效。
6.通過命令ll /etc/httpd可以查看到該目錄下有conf和conf.d目錄文件,再進一步查看/etc/httpd/conf.d下面可以看到的文件都是httpd的模塊文件,用來支持動態頁面的模塊文件。
7.Apache和Selinux之間的關系,進入/var/www/html/目錄下,通過ll –Z查看目錄下index.html Selinux屬性,通過命令ps –auxZ|grep http查看httpd的進程,這些http進程都有httpd_t的Selinux上下文屬性,Selinux就規定了http_t這類的進程上下文屬性可以訪問httpd_sys_content_t這類文件的上下文屬性,從而保證了網站的內容可以被訪問。
8.查看Apache日誌信息,日誌信息存儲在/var/log/httpd/目錄下,可以查看http訪問的日誌及https的訪問日誌,可以查看錯誤的http日誌及https的錯誤日誌等信息,
4、如何關閉linux主機的web伺服器
Web伺服器是一種應用程序,不同的Web伺服器應用程序的關閉方法不盡相同,在Linux平台使用最多的Web伺服器是apche和ngnix。關閉方法如下:
關閉apche:
/usr/local/apache2/bin/apachectl stop
關閉nginx:
nginx -s stop :快速停止nginx
5、Linux中Web伺服器的配置
你可以通過以下三種方法安裝Apache伺服器。
1.如果你安裝的Linux版本中帶用Apache的話,就在選擇所要安裝的服務
器的時候,將httpd這個服務選上,Linux安裝程序將自動完成Apache的安裝工
作,並做好基本的配置。
2.使用可執行文件軟體包,這比較適合那些對編譯工作不是太熟悉的初級
用戶,因為它相對比較簡單。
下載軟體包apache_1.2.4.e.tar.gz
tar xvzf apache_1.2.4.e.tar.gz
這就完成了安裝工作,簡單吧!
如果你使用的是RedHat Linux的話,你也可以下載apache_1.2.4.rpm軟體
安裝包,然後使用rpm -ivh apache_1.2.4.rpm命令安裝。
3.如果你想把Apache伺服器充分利用起來的話,就一定要自己編譯
Apache定製其功能。
下載包含Apache源代碼的軟體包apache_1.2.4.tar.gz; 然後用tar命令將它解
開; 將當前目錄改變為Apache源代碼發行版的src目錄; 將配置樣本文件
(Configuration.tmpl)復制為Configuration文件;
編輯Configuration文件中的配置選項:
Makefile配置選項:一些編譯選項:
. "CC="一行指定用什麼編譯軟體編譯,一般為"CC=gcc";
. 如果需要將額外的標志(參數)指定給C編譯軟體,可以使用:
EXTRA_CFLAGS=
EXTRA_LFLAGS=
. 如果系統需要特殊的庫和包含文件,可以在這里指定它們:
EXTRA_LIBS=
EXTRA_INCLUDES=
. 如果你要改變代碼優化設置的話,你須將下面一句去掉注釋,然
後改成你所需要的值:
#OPTIM=-O2
Rule配置選項:用來決定需要什麼功能,一般情況下無需改變。
模塊配置:模塊是Apache的組成部分,它為Apache內核增加新功能。通過使用
模塊配置,可以自定義在Apache伺服器中需要什麼功能,這個部分也是Apache
靈活性的表現。模塊配置行如下所示:
AddMole moles/standard/mod_env.o
如果你需要Apache伺服器具備什麼功能,就將那個模塊用AddMole語句加到配
置文件Configuration中去。
下表列出了Apache的模塊功能:
模塊名 功能 預設
mod_access 提供基於主機的訪問控制命令 y
mod_actions 能夠運行基於MIME類型的CGI腳本或HTTP請求方法 y
mod_alias 能執行URL重定向服務 y
mod_asis 使文檔能在沒有HTTP頭標的情況下被發送到客戶端 y
mod_auth 支持使用存儲在文本文件中的用戶名、口令實現認證 y
mod_auth_dbm 支持使用DBM文件存儲基本HTTP認證 n
mod_auth_mysql 支持使用MySQL資料庫實現基本HTTP認證 n
mod_auth_anon 允許以匿名方式訪問需要認證的區域 y
mod_auth_external支持使用第三方認證 n
mod_autoindex 當缺少索引文件時,自動生成動態目錄列表 y
mod_cern_meta 提供對元信息的支持 n
mod_cgi 支持CGI y
mod_dir 能夠重定向任何對不包括尾部斜杠字元命令的請求 y
mod_env 使你能夠將環境變數傳遞給CGI或SSI腳本 n
mod_expires 讓你確定Apache在伺服器響應請求時如何處理Expires y
mod_headers 能夠操作HTTP應答頭標 y
mod_imap 提供圖形映射支持 n
mod_include 使支持SSI n
mod_info 對伺服器配置提供了全面的描述 y
mod_log_agent 允許在單獨的日誌文件中存儲用戶代理的信息 n
mod_log_config 支持記錄日誌 y
mod_log_referer 提供了將請求中的Referer頭標寫入日誌的功能 n
mod_mime 用來向客戶端提供有關文檔的元信息 y
mod_negotiation 提供了對內容協商的支持 y
mod_setenvif 使你能夠創建定製環境變數 y
mod_speling 使你能夠處理含有拼寫錯誤或大小寫錯誤的URL請求 n
mod_status 允許管理員通過WEB管理Apache y
mod_unique_id 為每個請求提供在非常特殊的條件下保證是唯一的標識 n
在src目錄下執行:". /configure";
編譯Apache:執行命令"make";
根據機器性能的不同,經歷一段5-30分鍾的編譯,就大功告成了。
將編譯好的可執行文件httpd復制到/etc/httpd/bin目錄下;
將Apache發行版的配置文件:access.conf、httpd.conf、mime.types、
srm.conf文件復制到/etc/httpd/conf目錄下。到此為止,安裝完成。
6、如何查看linux系統的web伺服器
如果有安裝web服務那麼肯定會開啟80埠 所以優先查看伺服器是否在監聽80埠 netstat -an|回grep :80 也可以直接訪問ip地址答; 舉個例子:Apache web服務是否安裝的幾個檢查命令 ps aux |grep http netstat -an|grep :80 rpm -qa |grep http
7、如何在Linux 中搭建一個web伺服器
web伺服器的簡單搭建
1、安裝一個可以提供web服務的軟體
yum -y install httpd
2、 啟動httpd服務
systemctl start httpd
3、進入主配置文件
vim /etc/httpd/conf/httpd.conf
在此范圍內添加或刪除設置,為了方便編寫,編輯了一個子配置文件/etc/httpd/conf.d/httpd-vhosts.conf
4、 編輯子配置文件
vim /etc/httpd/conf.d/httpd-vhosts.conf 此路徑必為conf.d/*.conf (意:為.conf 後綴命名)
systemctl restart httpd 重啟服務
5、 編輯頁面測試文件
在web服務中默認存放網頁文件的路徑:/var/ chaodiquan.com /html
默認網頁文件名字:index.html
6、 瀏覽器測試
ifconfig ens33 查看ens33網卡的地址
在瀏覽器裡面 輸入你的IP就可以看到測試文件里 希望可以幫助到的哈!
8、Linux怎麼搭建Web伺服器
Linux怎麼搭建Web伺服器
1,基於apache的web伺服器基礎搭建:
(1)實驗環境:一台ip為192.168.10.10的rhel5.9主機作為web伺服器,一台ip為192.168.10.15的win7主機作為測試機
(2)查看服務主機軟體是否安裝
[root@ser1 ~]# rpm -q httpd httpd-manual httpd-devel
package httpd is not installed
package httpd-manual is not installed
package httpd-devel is not installed
(3)安裝軟體包
[root@ser1 ~]# yum install -y httpd httpd-manual httpd-devel
(4)啟動服務
[root@ser1 ~]# service httpd start
啟動httpd: [確定]
[root@ser1 ~]# chkconfig httpd on
(5)在win7上測試,無網頁預設下顯示紅帽測試頁
<報錯頁面存放位置/var/www/error/noindex.html>
.jpg
(6)打開配置文件
[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf
可獲得以下重要欄位:
目錄設置:
<Directory 目錄> .. .. </Directory>
訪問位置設置:
<LocationURL> .. .. </Location>
虛擬主機設置:
<VirtualHost 監聽地址> .. .. </VirtualHost>
常用的全局設置參數:
ServerName本站點的FQDN名稱
DocumentRoot網頁文檔的根目錄:預設/var/www/html/
DirectoryIndex默認索引頁/首頁文件:一般設為index.html index.php
ErrorLog錯誤日誌文件的位置
CustomLog 訪問日誌文件的位置
Listen 監聽服務的IP地址、埠號
ServerRoot 服務目錄:/etc/httpd/
Timeout網路連接超時,默認 300 秒
KeepAlive是否保持連接,可選On或Off
MaxKeepAliveRequests每次連接最多處理的請求數
KeepAliveTimeout保持連接的超時時限
Include 可包含其他子配置文件: /etc/httpd/conf.d/
(7)創建測試網頁
[root@ser1 ~]# vim /var/www/html/index.html
<h1>
This is a test page !!!
</h1>
~
(8)win7下測試,主頁變為測試網頁
.jpg
2,基於apache的web伺服器的訪問控制:
(1)web服務的地址限制
I,rder 配置項,定義控制順序
allow,deny 先允許後拒絕,預設拒絕所有;沖突時,拒絕生效;allow不設置,拒絕所有
deny,allow 先拒絕後允許,預設允許所有;沖突時,允許生效;deny不設置,允許所有
II,Allow/Deny from 配置項,設置許可權
Allow from 地址1 地址2 .. ..
Deny from 地址1 地址2 .. ..
配置如下:
[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf
331 #
332 Orderallow,deny
333 Allowfrom 192.168.20.0/24
334
335 </Directory>
[root@ser1 ~]# service httpd restart……重啟服務
停止httpd: [確定]
啟動httpd: [確定]
在win7上測試,測試完成並還原配置文件:
.jpg
看過「 Linux怎麼搭建Web伺服器 」的人還看了:
1.win7如何搭建Web伺服器
2.基於WebRTC的瀏覽器端Web伺服器的研究論文
3.LINUX下配置管理APACHE伺服器的方法
4.如何安全設置Apache Web伺服器
5.全國網路技術水平考試二級實踐指導書
9、如何在linux搭建完整的web伺服器?
可以參考如下Web伺服器的建立過程。示例環境及web伺服器軟體:
Ubuntu 12.04
LAMP(Linux,Apache,Mysql,PHP)
1、安裝Apache
(1)在安裝HTTP Server之前需安裝APR(Apache Portable Runtime)和APR-util安裝APR
$ tar zxvf apr-1.4.6.tar.gz
$ cd apr-1.4.6/
$ ./configure
$ make
$ sudo make install
(2)安裝APR-util
$ tar zxvf apr-util-1.4.1.tar.gz
$ cd apr-util-1.4.1
$ ./configure –with-apr=/usr/local/apr (whereis apr)
$ make
$ sudo make install
(3)安裝httpd-2.4.2.tar.bz2默認安裝位置/usr/local/apache2網頁放在/usr/local/apache2/htdocs配置文件/usr/local/apache2/conf/httpd.conf
$ tar jxvf httpd-2.4.2.tar.bz2
$ cd httpd-2.4.2/
$ ./configure
$ make
$ sudo make install
(4)啟動HTTP Server$ sudo /usr/local/apache2/bin/apachectl startAH00558: httpd: Could not reliably determine the server』s fully qualified domain name, using 127.0.1.1. Set the 『ServerName』 directive globally to suppress this message
(5)查看http是否正常運行$ netstat -a | grep httptcp 0 0 *:http *:* LISTEN
(6)在瀏覽器輸入127.0.0.1如果正常應該顯示「It works!」
2、安裝MySQL
(1)、下載安裝mysql-5.5.25.tar.gz,默認安裝位置/usr/local/mysql/
$ tar zxvf mysql-5.5.25.tar.gz
$ cd mysql-5.5.25/
$ sudo groupadd mysql
$ sudo useradd -r -g mysql mysql
$ cmake .
$ make
$ sudo make install
$ cd /usr/local/mysql/
$ sudo chown -R mysql .
$ sudo chgrp -R mysql .
$ sudo scripts/mysql_install_db –user=mysql
$ sudo chown -R root .
$ sudo chown -R mysql data/
$ sudo cp support-files/my-medium.cnf /etc/my.cnf
$ sudo cp support-files/mysql.server /etc/init.d/mysql.server
(2)、啟動MySQL:
方法1:$ sudo service mysql.server start
方法2:$ sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
3、安裝PHP
(1)安裝下載php-5.4.4.tar.gz
$ tar zxvf php-5.4.4.tar.gz
$ cd php-5.4.4
$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-mysqli --enable-mbstring --with-mcrypt(可能需要安裝libmcrypt-dev )
$ sudo make install
$ sudo cp php.ini-development /usr/local/lib/php.ini
(2)配置HTTP Server使之支持PHPapache配置文件/usr/local/apache2/conf/httpd.conf修改或添加如下配置
<;IfMole dir_mole>
DirectoryIndex index.php
<;/IfMole>
<;FilesMatch \.php$>
SetHandler application/x-httpd-php
<;/FilesMatch>
(3)重啟HTTP Server
$ sudo /usr/local/apache2/bin/apachectl restart