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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...