在 Arch Linux 上安装 Linux、Apache、MySQL、PHP(LAMP)堆栈的方法

news2024/11/25 22:57:30

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

关于 LAMP

LAMP 栈是一组用于启动和运行 Web 服务器的开源软件。该首字母缩略词代表 Linux、Apache、MySQL 和 PHP。Arch Linux 使用强大的 Pacman 安装程序,可以使用一个命令下载每个程序所需的最新软件包。

设置

本教程中的步骤要求用户具有 root 权限。您可以在[这里]的步骤 3 和 4 中了解如何设置。

步骤一—安装 Apache

Apache 是一个免费的开源软件,占据全球 50% 以上的 Web 服务器。

在安装任何 LAMP 程序之前,我们应该更新软件包管理器:

sudo pacman -Syu

更新完成后,我们可以安装 Apache:

sudo pacman -S apache

安装完 Apache 后,我们需要在配置中进行一些更改。

打开 Apache 配置文件:

sudo nano /etc/httpd/conf/httpd.conf

注释掉 unique_id_module(您可以使用 ctrl w 快速查找):

#LoadModule unique_id_module modules/mod_unique_id.so

重启 Apache:

sudo systemctl restart httpd

在 Apache 重启期间,您可能会收到以下通知:

httpd: apr_sockaddr_info_get() failed for droplet1
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                                         [DONE]

尽管此警告不会影响 Apache 的启动,但如果您愿意,可以通过将主机名添加到配置文件中来轻松消除它。

打开 hosts 文件:

sudo nano /etc/hosts

在以 127.0.0.1 开头的行的末尾添加您的主机名:

127.0.0.1       localhost.localdomain   localhost droplet1

随后的 Apache 重启将不再显示该消息。至此,Apache 已安装在您的服务器上。将浏览器定向到服务器的 IP 地址(http://12.34.56.789)将显示一个自动索引目录。您可以通过向 Arch 的文档根目录(位于“srv/http”内)添加一个 index.html 文件来快速尝试示例页面:

sudo nano /srv/http/index.html
<html>
<title>Welcome</title>
<body>
<h2>Hello, Welcome to Arch</h2>
</body>
</html>

您可以通过在浏览器中输入服务器的 IP 地址来访问占位符页面。

如何查找服务器的 IP 地址

您可以运行以下命令来查看服务器的 IP 地址。

curl -s icanhazip.com

步骤二—安装 MySQL

MySQL 是一个强大的数据库管理系统,用于组织和检索数据。

自 2013 年 3 月以来,MariaDB 已成为 Arch 存储库中 MySQL 的默认实现。安装软件包 “mysql” 将自动将 MariaDB 替换为 MySQL。有关更多详细信息,请参阅原始公告。

要安装 MySQL,请在终端中键入以下命令:

sudo pacman -S mysql

如果有任何提示,请按 Enter 键,除非您知道您不想要默认设置。

安装完 MySQL 后,启动它:

sudo systemctl start mysqld

最后运行 MySQL 设置脚本:

sudo mysql_secure_installation

该过程将要求您输入当前的 MySQL root 密码(不要与服务器密码混淆),由于尚未设置密码,只需按 Enter 键。

提示时,“Set root password?” 输入 Y,然后输入新的 MySQL root 密码。

之后,最简单的方法是对所有选项都选择 Yes。最后,MySQL 将重新加载并实施新更改。

安装 MySQL 默认情况下具有一个匿名用户,允许任何人在不必为他们创建用户帐户的情况下登录到 MySQL。这仅用于测试,并使安装过程更加顺利。在进入生产环境之前,应删除它们。

删除匿名用户?[Y/n] y
… Success!

通常,应仅允许 root 从 ‘localhost’ 远程登录。这可以确保某人无法从网络猜测 root 密码。

禁止 root 远程登录?[Y/n] y
… Success!

默认情况下,MySQL 带有一个名为 ‘test’ 的数据库,任何人都可以访问。这也仅用于测试,在进入生产环境之前应将其删除。

删除 test 数据库和对其的访问权限?[Y/n] y

  • Dropping test database…
    … Success!
  • Removing privileges on test database…
    … Success!

重新加载权限表将确保立即生效所有到目前为止所做的更改。

现在重新加载权限表?[Y/n] y
… Success!

清理…

安装完 MySQL 后,通过安装 PHP 完成 LAMP 栈。

步骤三—安装 PHP

PHP 是一种广泛用于构建动态网页的开源 Web 脚本语言。

要安装 PHP,请在终端中键入以下命令。

sudo pacman -S php php-apache

还应将 PHP 添加到 Apache 配置文件中:

sudo  nano /etc/httpd/conf/httpd.conf

在配置中粘贴以下文本块。

# Use for PHP 5.x:
LoadModule php5_module       modules/libphp5.so
AddHandler php5-script php
Include conf/extra/php5_module.conf

步骤四—查看您的 PHP 配置并将程序添加到启动项

安装完 LAMP 后,我们可以通过创建一个快速的 PHP 信息页面来查看并了解 PHP 的详细信息。

要设置此功能,首先创建一个新的空文件:

sudo nano /srv/http/info.php

添加以下行:

<?php
phpinfo();
?>

然后保存并退出。

重新启动 Apache 以使所有更改生效:

sudo systemctl restart httpd

访问您的 PHP 信息页面(确保用您的正确 IP 地址替换示例 IP 地址):http://12.34.56.789/info.php

然后您的屏幕应如下所示:

PHP info

要完成 LAMP 安装,打开 Arch 的 innitscripts 配置文件,并将 Apache 服务器和 MySQL 守护程序添加到服务器启动时运行的程序列表中:

sudo systemctl enable mysqld httpd

恭喜,您现在已在 Arch Linux 上安装了 LAMP 服务器!

查看更多

安装 LAMP 后,您将拥有一个很好的基础来构建您的网站。查看此教程,了解如何在 Arch Linux 上安装[WordPress]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2061255.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【HTML】为网页添加列表和超链接

1、列表 1.1、无序列表 <ul><li>列表项1</li><li>列表项2</li><li>列表项3</li> ...... </ul>无序列表的常用type属性值 1.2、有序列表 <ol><li>列表项1</li><li>列表项2</li><li>列…

【乐吾乐大屏可视化组态编辑器】下载离线部署包

下载离线部署包/组件包 在线使用&#xff1a;https://v.le5le.com/ 导出为Zip文件 Zip包主要用于大屏可视化平台快捷导入导出项目。 如图下图所示&#xff0c;Zip包仅包含数据文件和图片文件&#xff0c;不包含js等依赖库。需要有一定开发能力者参考官方文档补充依赖库才能…

AndroidStudio最新版各个repositories下载失败

如下图&#xff0c;各个仓库都是下载失败&#xff0c;网络是有oversea的访问的&#xff0c;不行&#xff0c;我给AndroidStudio网络代理到oversea也不能下载&#xff0c;就很奇怪&#xff0c;就像是AndroidStudio强行把网络访问给墙了 原来Settings.Gradle的配置如下&#xff0…

[Algorithm][贪心][跳跃游戏][加油站][单调递增的数字][坏了的计算器]详细讲解

目录 1.跳跃游戏1.题目链接2.算法思路详解3.代码实现 2.加油站1.题目链接2.算法原理详解3.代码实现 3.单调递增的数字1.题目链接2.算法原理详解3.代码实现 4.坏了的计算器1.代码实现2.算法原理详解3.代码实现 1.跳跃游戏 1.题目链接 跳跃游戏 2.算法思路详解 贪心&#xff1…

【Python机器学习】NLP概述——词序和语法

词的顺序很重要&#xff0c;那些在词序列&#xff08;如句子&#xff09;中控制词序的规则被称为语言的语法&#xff08;也被称为文法&#xff09;。这是之前的词袋或词向量例子中所丢弃的信息。在大多数简短的短语甚至许多完整的句子中&#xff0c;上述词向量近似方法都可以奏…

数据结构——顺序栈和链式栈

目录 引言 栈的定义 栈的分类 栈的功能 栈的声明 1.顺序栈 2.链式栈 栈的功能实现 1.栈的初始化 (1)顺序栈 (2)链式栈 (3)复杂度分析 2.判断栈是否为空 (1)顺序栈 (2)链式栈 (3)复杂度分析 3.返回栈顶元素 (1)顺序栈 (2)链式栈 (3)复杂度分析 4.返回栈的大…

[数据集][目标检测]快递包裹检测数据集VOC+YOLO格式5382张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;5382 标注数量(xml文件个数)&#xff1a;5382 标注数量(txt文件个数)&#xff1a;5382 标注…

【JavaSec】JavaIO流

0x04 IO流 文章目录 0x04 IO流创建文件读取文件信息文件目录操作删除创建目录 文件流操作读文件写文件write(byte[] b) 方法write(byte[] b, int off, int len) 方法 文件拷贝 向大佬致敬&#xff1a; https://drun1baby.top 创建文件 三种方法 一张图对比着看 其实感觉差别不…

C语言函数详解(上)【库函数】

目录 前言 一、函数的概念 二、库函数 1.标准库和头文件 2.库函数使用方式 3.如何通过以上的网站查看库函数信息 &#xff08;以sqrt为例&#xff09; 3.1 功能 3.2 头文件包含 3.3 库函数文档的⼀般格式 1. 函数原型 ​编辑2. 函数功能介绍 ​编辑3. 参数和返…

vue路由导航简单实现

1.代码 安装路由模块 npm install vue-router 导入路由组件&#xff1a; import { createRouter, createWebHistory } from vue-router 首先创建三个vue组件显示路由内容&#xff1a; index.vue <template><!-- 首页跳转 --><router-link to"/my"&…

Ciallo~(∠・ω・ )⌒☆第二十四篇 python 异常处理

在Python中&#xff0c;异常处理是一种处理代码中发生错误的机制。它允许我们在运行时捕获和处理异常&#xff0c;以避免程序终止并提供错误信息。 一、try-except语句 try块用于包含可能发生异常的代码&#xff0c;而except块用于捕获和处理异常。一旦try块中的代码引发了异常…

8月21日笔记

Frp Frp(Fast e Reverse ) Proxy) 是一款简单&#xff0c;好用&#xff0c;稳定的隧道工具。Frp 使用 Go语言开发&#xff0c;支持跨平台&#xff0c;仅需下载对应平台的二进制文件即可执行&#xff0c;没有额外依赖。它是一款高性能的反向代理应用&#xff0c;可以轻松地进行…

机器人蓝牙通信绕坑

为机器人添加手机和语音控制是很有必要的&#xff0c;其中蓝牙通信有很多的坑。 一个是蓝牙模块版本&#xff0c;流行的2.0&#xff0c;4.0&#xff0c;5.0一旦买错&#xff0c;会十分麻烦&#xff0c;如果不懂编程&#xff0c;无法和板子通信&#xff0c;又连不上电脑和手机&…

用户画像中挖掘类标签的生产过程

背景 在用户画像中&#xff0c;除了用户的性别年龄等基础标签&#xff0c;我们还可以使用机器学习算法挖掘一些标签&#xff0c;比如用户购买意向等标签 技术方案 挖掘类标签的生产一般有以下的流程图&#xff0c;主要包括特征选择&#xff0c;也就是选择用户的哪些行为作为…

GATK AlleleList接口介绍

在 GATK&#xff08;Genome Analysis Toolkit&#xff09;中&#xff0c;AlleleList 接口是一个用来表示等位基因&#xff08;alleles&#xff09;列表的接口。Allele 是遗传学中用于表示某一特定基因座的不同形式的一个基本单位。AlleleList 接口定义了一些操作&#xff0c;使…

跨境电商系统架构分析

跨境电商系统是一个复杂而庞大的系统工程&#xff0c;涵盖了订单管理、支付管理、物流管理、报关管理、产品管理、跨境营销和数据分析等多个功能模块。这些模块相互协作&#xff0c;共同支撑起跨境电商的全球化运营。 订单管理&#xff1a;负责处理用户的订单信息&#xff0c;…

零基础学习Python(六)

1. 元类的应用 使用元类给对象添加一个固有属性author: 对类名进行限定&#xff0c;要求类名必须是大写字母开头&#xff1a; class MetaC(type):def __init__(cls, name, bases, attrs):if not name.istitle():raise TypeError("类名必须是大写字母开头~")return …

想提升网站排名?试试轮换IP

在竞争激烈的互联网环境中&#xff0c;提高网站排名是每个中小型网站主的共同目标。其中&#xff0c;轮换IP是一种不容忽视的优化工具。虽然听起来可能有些陌生&#xff0c;但轮换IP却能在提升网站排名方面发挥关键作用。本文将深入探讨轮换IP如何帮助中小型网站提升搜索引擎排…

南大-ICS2021 PA1~PA2.2 学习笔记记录

文章目录 代码github网址ICS2021其他博客基础设施: 简易调试器表达式求值词法分析递归求值如何测试自己的代码 监视点的实现扩展表达式求值的功能实现监视点 阅读源码 2译码执行用RTL表示指令行为实现常用的库函数实现常用的库函数 代码github网址 https://github.com/xiao-ta…

一主一从读写分离

目录 介绍 一主一从 原理 准备 配置主从复制 验证主从复制 一主一从读写分离 安装MyCat schema.xml配置 server.xml配置 测试 介绍 读写分离,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作&#xff0c;从数据库提供读操作&am…