Archlinux 搭建 lamp(Apache2+PHP7+MariaDB)开发环境

梨子2016-5-13
本文最后更新于 2565 天前(2016-5-13),其中的信息可能已经有所发展或者不再适用于现阶段。
本文全长 478 字,全部读完大约需要 2 分钟。

首先升级系统确保源是最新的

sudo pacman -Syu

然后一键安装 lamp 环境

sudo pacman -S apache php php-apache mysql

接下来初始化数据库

sudo systemctl enable mysqld

sudo systemctl start mysqld

检查状态

systemctl status mysqld

如果 not okay

sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

systemctl status mysqld

应该就好了

然后更改目录的属主

sudo chown -R mysql:mysql /var/lib/mysql

mysql 初始化

sudo mysql_secure_installation

配置 apache

编辑 /etc/httpd/conf/httpd.conf

由于 apache 的版本到 2.4 之后,对模块的启动方式有些改变,所以正确解析 PHP 还需要下面两个步骤:

a、禁用 event 启动模式:注释掉这句,或者直接删掉这句:

#LoadModule mpm_event_module modules/mod_mpm_event.so

b、启用 prefork 启动模式:加入这行:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

在相应语句末尾分别加上这两句

LoadModule php7_module modules/libphp7.so

Include conf/extra/php7_module.conf

找到 <IfModule mime_module> 然后在这个标签之间添加 :

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

在文件末尾添加

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

重启 apache 服务

sudo systemctl restart httpd

在网站根目录 /srv/http/ 里添加测试网页 phpinfo.php

<?php
    phpinfo();
?>

访问 http://localhost/phpinfo.php
至此,lamp 环境就基本安装好了

如果想把网站目录放在 /home 里,我们发现 Archlinux 是自带有这个设计的,

首先编辑 /etc/httpd/conf/httpd.conf

取消注释

Include conf/extra/httpd-userdir.conf

(参见 https://wiki.archlinux.org/index.php/Apache_HTTP_Server#Apache

然后设置权限

sudo setfacl -m "u:webserver:--x" /home/geoffrey

其中 webserver 为你的 web 用户,笔者为 http,geoffrey 就是你的用户

(参见 https://wiki.archlinux.org/index.php/Access_Control_Lists#Granting_execution_permissions_for_private_files_to_a_Web_Server

设置完以后就可以通过 http://localhost/~geoffrey 访问了,网站目录为 /home/geoffrey/public_html

除特殊说明以外,本网站文章采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。