CentOS 7下Apache + PHP + MySQL環境(LAMP)的安裝

来源:https://www.cnblogs.com/zxuuu/archive/2020/03/05/12419221.html
-Advertisement-
Play Games

Step 1:更換阿裡雲 yum 源 Step 2:Apache 部分 安裝Apache : 啟動Apache服務 : 檢查Apache服務狀態是否running : 設置Apache服務自啟動守衛 : 此時,訪問伺服器的80埠,應可以看到Apache的預設頁。如果不能訪問,請檢查防火牆設置。 A ...


Step 1:更換阿裡雲 yum 源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum update

Step 2:Apache 部分

安裝Apacheyum -y install httpd

啟動Apache服務systemctl start httpd

檢查Apache服務狀態是否runningsystemctl status httpd

設置Apache服務自啟動守衛systemctl enable httpd

此時,訪問伺服器的80埠,應可以看到Apache的預設頁。如果不能訪問,請檢查防火牆設置。

Apache的預設網頁資源目錄是/var/www/html,預設配置文件位置是/etc/httpd/conf/httpd.conf

Step 3:MySQL 5.7 部分

安裝MySQL及伺服器:由於需要下載文件,請在合適的目錄下執行下列操作。若系統沒有wget,請先yum install wget安裝之。

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

啟動MySQL服務systemctl start mysqld.service

檢查MySQL服務是否runningsystemctl status mysqld.service

設置MySQL服務自啟動守衛systemctl enable mysqld.service

獲取MySQL初始隨機密碼grep "password" /var/log/mysqld.log

使用該密碼進入資料庫mysql -uroot -p,輸入密碼進入

執行查詢,修改預設密碼ALTER USER 'root'@'localhost' IDENTIFIED BY '[NEWPASSWORD]';

註意,依據安全性政策,過於簡單的密碼無法通過要求。

新增最高許可權用戶:實際操作中,我們不可能將root用戶暴露到%域來做資料庫操作,所以添加一個新用戶。執行下列查詢:

CREATE USER '[USERNAME]'@'%' IDENTIFIED BY '[PASSWORD]';
GRANT ALL ON *.* TO '[USERNAME]'@'%';
FLUSH PRIVILEGES;

至此,使用配置好的用戶名和密碼,應可以使用Navicat連接上資料庫。

Step 4: PHP 7 部分

註意,直接yum安裝PHP會安裝5.4版本。如果不慎安裝,請執行

yum remove php
yum remove php-fpm
yum remove php-common

然後reboot伺服器,再進行後續安裝。

為安裝PHP 7,需要配置一下新的源:

yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安裝PHPyum -y install php72w

安裝PHP依賴yum -y install php72w-fpm

安裝常用的PHP插件yum -y install php72w-cli php72w-common php72w-devel php72w-mbstring php72w-mysqlnd

重啟伺服器和資料庫,使相關插件生效

systemctl restart httpd.service
systemctl restart mysqld.service

驗證PHP版本是否為7.0+php -v

測試PHP能否正常解釋

cd /var/www/html
vi test.php

內容為<?php phpinfo(); ?>

在瀏覽器訪問之。若出現診斷頁,則安裝成功。

Step 5: 檢查 MySQLi 支持

test.php中搜索mysqli,若能看到類似表格,則MySQLi支持已啟動。PHP 7.2版本預設啟用MySQLi。

Step 6: 安全性配置

關閉Apache的目錄索引許可權:訪問Apache的httpd.conf文件,去除<Directory /var/www/html>OptionsIndexes屬性

在正式上線時,關閉PHP錯誤提示:編輯php.ini,修改display_errors選項到Off。

一些在Ubuntu下需要做的但在CentOS下好像不需要了的操作(僅供參考):

MySQL的預設配置文件路徑為/etc/my.cnf,其中的具體配置項目請參看https://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

  • 取消MySQL的地址綁定(否則會導致外網無法連接資料庫):[mysqld]bind_address=0.0.0.0
  • 禁止MySQL進行功能變數名稱解析(否則會導致外網連接資料庫極慢無比):[mysqld]下添加skip-name-resolve

  • 設置資料庫預設編碼UTF-8:[mysqld]下添加character_set_server=utf8init_connect='SET NAMES utf8'

Step 7: FTP 伺服器

使用xShell聯合xFtp即可直接連接。

Step 8: 啟用HTTPS

安裝SSL支持yum install mod_ssl openssl

依據https://help.aliyun.com/knowledge_detail/95493.html的說明配置證書文件,註意:

  • 第2步若找不到對應配置項,無視該步驟
  • 第3步配置文件位置為/etc/httpd/conf.d/ssl.conf
  • 第4步所給指令不再有效,請使用systemctl restart httpd

現在,可以以功能變數名稱方式https訪問相應埠。

至此,LAMP環境搭建完成。後續PHP代碼上傳到/var/www/html目錄下即可。


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

-Advertisement-
Play Games
更多相關文章
  • 使用 resx 文件,可以動態切換語言, 新建Lang.zh-CN.resx Lang.en-US.resx 資源文件 新建空類Lang.cs 新建如下類: public class LanguageManager : INotifyPropertyChanged { private readonl ...
  • ansible 介紹、特點、原理與架構、具體執行流程,以及自動化運維使用場景 ...
  • 0 個人信息 張櫻姿 201821121038 計算1812 1 實驗目的 熟練Linux命令行操作。 2 實驗內容 使用man查詢命令使用手冊 基本命令使用 3 實驗環境 操作系統:deepin15.9.2 平臺:雙操作系統 4 實驗報告 剖析ps命令 man命令是Linux下的幫助指令,通過ma ...
  • Nginx日誌分析以及JBoss日誌分析 一、使用E.L.K安全分析Nginx日誌 1.Nginx日誌介紹: Nginx是高性能的、輕量級Web、反向代理和電子郵件代理伺服器,由俄羅斯訪問量第二的Rambler.ru站點開發; 簡稱"ngx",由於出色的性能,低資源消耗,在高併發應用系統中應用廣泛; ...
  • 本質: 是一門編程語言,有自己的語法和庫函數。 工作機理: 讀取每一行 按分隔符把這一行切成多個(不指定分隔符的話,空白或者連續空白就是分隔符) $1:代表第一列;$2:第二列。。。。 $0:整行內容 按需,按特定格式列印出來 功能: 可以限定處理哪些行 可以根據列的內容做條件分支處理 可以迴圈所有 ...
  • 1.登陸github後,進入Github首頁,點擊New repository新建一個項目 2. 填寫相應信息後點擊create repository即可 Repository name: 倉庫名稱(輸入名字,最好不要使用中文) Description(可選): 倉庫描述介紹 Public, Pri ...
  • Windows Apache日誌提取和安全分析 一、Apache日誌介紹: 1.Apache的訪問日誌功能由mod_log_config功能模塊提供,日誌格式為(CLF)Common Log Format。 2.Apache日誌的八個級別:emerg、alert、crit、error、warn、no ...
  • Windows IIS日誌提取和安全檢查分析 一、IIS日誌介紹: 1.IIS簡介: IIS全稱Internet Information Services,是由微軟公司提供的基於運行Microsoft Windwos的互聯網基本服務,IIS是一種Web(網頁)服務組件,其中包括Web伺服器、FTP服 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...