Linux 下安裝 LAmp及配置

来源:http://www.cnblogs.com/xinboke/archive/2016/04/22/5422817.html
-Advertisement-
Play Games

第一步:配置防火牆(預設情況下,埠80和3306是拒絕訪問的,在防火牆上進行配置): vi /etc/sysconfig/iptables(在"COMMIT"的上一行加上如下兩句) -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j  ...


第一步:配置防火牆(預設情況下,埠80和3306是拒絕訪問的,在防火牆上進行配置):

  1. vi /etc/sysconfig/iptables(在"COMMIT"的上一行加上如下兩句) 
  2. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允許80埠通過防火牆) 
  3. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允許3306埠通過防火牆) 

接著重啟防火牆使得配置生效:

  1. /etc/init.d/iptables restart 

 

 

第二步:安裝Apache

 

 

 

使用以下命令安裝Apache:

 

  1. yum install httpd 

 

如果出下下麵所示的語句,說明已經安裝了Apache了,不需要重新安裝:

 

 

 

 

安裝完之後,重新啟動Apache:/etc/init.d/httpd restart

 

接著將Apache設置為開機啟動:chkconfig httpd on.(這一步使得伺服器不需要在每次重啟的時候都要手動啟動httpd服務)

 

要查看httpd服務的啟動狀態,可以使用命令:chkconfig --list httpd(會顯示httpd在各個級別(level)下的啟動狀態)

第三步:安裝MySQL

1、使用以下命令安裝MySQL:

  1. yum install mysql mysql-server 

同樣,如果出現提示已安裝的話,就說明系統安裝了MySQL了,可以跳過這一步,否則,系統接下來會自動安裝MySQL。

 

安裝完成了之後,啟動MySQL:/etc/init.d/mysql start

將MySQL設置為開機啟動:chkconfig mysqld on
最後,拷貝配置文件:cp /usr/share/mysql/my-medium.cnf  /etc/my.cnf (在/etc下有個my.cnf文件,直接覆蓋就行了)

2、用以下命令給root賬戶設置密碼     

  1. mysql_secure_installation 

根據提示輸入2次密碼,就設置成功了。註意,在設置過程中,會提示刪除是否anonymous用戶,是否拒絕root的遠程訪問,是否刪除測試用的資料庫等,這些都需要根據自己的實際情況進行選擇。最後出現:Thanks for using MySQL!,設置密碼成功了。

 

重新啟動MySQL:/etc/init.d/mysqld restart

 

第四步:安裝PHP

 

1、使用以下命令安裝PHP:

 

  1. yum install php 

 

 

 

根據提示往下安裝就行了。安裝完之後重新啟動Apache:/etc/init.d/httpd restart
2、安裝PHP組件,是PHP支持MySQL

 

可以使用命令:yum search php來查看PHP的組件,選擇需要的模塊進行安裝:

 

 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

 

安裝完之後,重啟Apache:/etc/init.d/httpd restart 

 

重啟MySQL:/etc/init.d/mysqld restart

 

 

 

到了這一步,LAMP中的AMP都已經安裝完畢了,但是web伺服器此時並不能被訪問,因為要訪問伺服器,還需要對Apache和PHP進行相應的配置。

 

 

配置篇

 

第一步:配置Apache

 

修改Apache配置文件:vi /etc/httpd/conf/httpd.conf,併在文件中查找下麵所在行,進行修改(查找可以在vi的一般模式下輸入“/要查找的字元”進行查找):

 

ServerTokens OS           修改為:     ServerTokens Prod                       (在出現錯誤頁的時候不顯示伺服器操作系統的名稱)
ServerSignature On        修改為:     ServerSignature Off                      (在錯誤頁中不顯示Apache的版本)
Options Indexes FollowSymLinks     修改為:     Options Includes ExecCGI FollowSymLinks             (允許伺服器執行CGI及SSI,禁止列出目錄)
#AddHandler cgi-script .cgi           修改為:     AddHandler cgi-script .cgi .pl                                       (允許擴展名為.pl的CGI腳本運行)
AllowOverride None                      修改為:     AllowOverride All                                 (允許.htaccess)
AddDefaultCharset UTF-8            修改為:     AddDefaultCharset GB2312                                     (添加GB2312為預設編碼)

 

Options Indexes MultiViews FollowSymLinks      修改為      Options MultiViews FollowSymLinks        (不在瀏覽器上顯示樹狀目錄結構)
DirectoryIndex index.html index.html.var             修改為:  DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var  (設置預設首頁文件,增加index.php)
KeepAlive Off                                  修改為:     KeepAlive On                                (允許程式性聯機)
MaxKeepAliveRequests 100           修改為:     MaxKeepAliveRequests 1000   (增加同時連接數)

 

 

 

修改好之後保存配置,重新啟動Apache:/etc/init.d/httpd restart

 

建議刪除預設的測試頁面:rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html 

 

第二步:配置PHP

 

修改PHP配置文件:vi /etc/php.ini,以下需要修改的行的位置可以通過vi的查找命令來查找:

 

date.timezone = PRC                    #把前面的分號去掉,改為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

 

#列出PHP可以禁用的函數,如果某些程式需要用到這個函數,可以刪除,取消禁用。

 

expose_php = Off                                     #禁止顯示php版本的信息

 

display_errors = OFF                               #關閉錯誤提示
register_globals = OFF                           #關閉註冊全局變數
magic_quotes_gpc = On                        #打開magic_quotes_gpc來防止SQL註入
log_errors = On                                         #記錄錯誤日誌
error_log = /var/log/php/error_log.log   #設置錯誤日誌存放目錄,文件必須允許apache用戶的和組具有寫的許可權(註意,在修改之前,要先創建文件/var/log/php/error_log.log,然後在修改其屬性,使其屬於apache用戶和用戶組。chown apache /var/log/php/error_log.log和chgrp apache /var/log/php/error_log.log)

 

open_basedir = .:/tmp/                             #設置表示允許訪問當前目錄(即PHP腳本文件所在之目錄)和/tmp/目錄,可以防止php木馬跨站

 

 

 

經過安裝和配置之後,web伺服器基本上已經搭建起來了,可以對其進行訪問。

 

以上配置可根據自己的需求來進行配置以及修改

 

測試篇

 

在目錄/var/www/html下:cd /var/www/html

 

創建php文件:vi index.php

 

<?php
phpinfo();
?>

 

那麼,在瀏覽器中輸入本機地址的時候,就可以訪問到剛纔創建的index.php網頁文件了。

 

註意:apache的預設程式目錄是:/var/www/html,網頁文件放在這裡就可以被訪問到。需要保證這個目錄是屬於用戶apache和用戶組apache的。

 

             MySQL的資料庫目錄是:/var/lib/mysql

 

 

 

寫到這裡,LAMP就安裝配置完畢了,瀏覽器只要輸入伺服器的IP地址或者是功能變數名稱的話,就能夠訪問到伺服器上的網頁文件了。

 

有錯漏的地方,歡迎大家隨時指出修改意見,謝謝大家的支持。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 命名空間其實只是一個形式,最終目的是重構代碼,但這個過程想要一蹴而就是不可能的。 一開始給了一個偽命題:基於ThinkPHP的重構(不要為什麼)。經過一段的實踐,發現這是一個大錯特錯的思維方式,其中遇到的坑在此略過不表。 首先,不要想著全盤基於命名空間重寫,而應該是基於局部的。 最終思考後的結果,是 ...
  • 在上一篇《java事務(二)——本地事務》中已經提到了事務的類型,並對本地事務做了說明。而分散式事務是跨越多個數據源來對數據來進行訪問和更新,在JAVA中是使用JTA(Java Transaction API)來實現分散式的事務管理的。但是在本篇中並不會說明如何使用JTA,而是在不依賴其他框架以及j ...
  • HTTP協議(HyperText Transfer Protocol,超文本傳輸協議)是網際網路上應用最為廣泛的一種網路傳輸協議,所有的WWW文件都必須遵守這個標準。 HTTP是一個基於TCP/IP通信協議來傳遞數據(HTML 文件, 圖片文件, 查詢結果等)。 HTTP協議工作於客戶端-服務端架構為 ...
  • atitit.詞法分析原理 詞法分析器 (Lexer) 1. 詞法分析(英語:lexical analysis)1 2. ;實現詞法分析程式的常用途徑:自動生成,手工生成.[1] 2 2.1. 詞法分析程式的功能2 2.2. 如何描述詞素3 2.3. 單詞token3 2.4. Token的類型,根 ...
  • 註:以下文章原文來自於Dr Charles Severance 的 《Python for Informatics》 本書中的許多例子關註的是讀取文件並查找數據,但在互聯網中還有許多不同信息源。 本章我們將偽裝成瀏覽器用超文本傳送協議(HTTP)從網站獲取網頁,通讀並分析它。 12.1 超文本傳送協 ...
  • 引言 - 為尋一顆明星 { 風 : http://music.163.com/#/song?id=5276735 } 前言 - 有點扯 C基本是程式生涯的入門語言. 雖說簡單, 但已經斷層了. 估計是不合時宜吧. 工作中也就在網路層框架會看見部分C的影子. 自己用C開發久了, 發現C一個弊端是 當一 ...
  • 問題的描述: 一個項目,涉及到了 兩個數據源,分別使用的是 兩個不同的 資料庫連接池,其中一個是 poxool 連接池,問題在於,spring在啟動時,只初始化其中的一個 資料庫連接池中的資料庫連接,而 poxool配置的資料庫連接池,在啟動時 沒有進行初始化,一個資料庫連接也沒有初始化好,所以導致 ...
  • 本文章向碼農介紹Typecho 博客文章瀏覽次數統計插件Stat,需要的碼農可以參考一下。 我的新博客使用的博客系統是Typecho博客系統,使用的時候發現,該博客系統本身沒有文章瀏覽統計功能,很不習慣。在網上搜了下後發現,有相關的博客插件可以實現,插件的使用很簡單,博客吧在這裡簡單說明下Typec ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...