在Arch Linux(Raspberry Pi)树莓派上设置LAMP

时间:2020-03-21 11:49:58  来源:igfitidea点击:

我们将继续与Raspberry Pi安装一起使用,今天的计划是设置LAMP。

一般免责声明适用,任何损失或者损坏,使用风险自负并经常备份,概不负责!

安装和配置LAMP

我们需要安装的软件包:

# pacman -S apache mariadb php php-apache php-gd php-intl php-xcache

我们可能已经知道,Arch Linux选择的MySQL实现称为MariaDB。

配置MySQL

使用以下命令启动MySQL守护程序:

# /usr/bin/mysqld_safe --datadir='/var/lib/mysql' &

要为root用户添加密码,删除默认情况下创建的测试数据库和匿名用户,我们将运行安装脚本:

# /usr/bin/mysql_secure_installation

启用MySQL守护程序以在启动时启动:

# systemctl enable mysqld.service

默认情况下,可从网络访问MySQL服务器,这将启用远程访问,在我们的特定情况下不需要。
由于仅本地主机需要MySQL,因此可以通过禁用对TCP端口3306的侦听来提高安全性。

# netstat -nlp | grep -i mysql
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2796/mysqld
unix 2 [ ACC ] STREAM LISTENING 10396 2796/mysqld /run/mysqld/mysqld.sock

要拒绝远程连接,我们需要打开:

# vim /etc/mysql/my.cnf

并取消注释以下行:

skip-networking

我们仍然可以从本地主机登录,这是我们真正需要的全部。
重新启动MySQL服务器:

# systemctl restart mysqld

检查MySQL不再侦听TCP端口:

# netstat -nlp | grep mysql
unix 2 [ ACC ] STREAM LISTENING 10647 2855/mysqld /run/mysqld/mysqld.sock

不是,很好。

配置Apache2

打开配置文件:

# vim /etc/httpd/conf/httpd.conf

并更改以下设置:

User http
Group http
ServerAdmin Hyman@theitroad
ServerName localhost:80

从<Directory“/srv/http“>”部分中删除索引。

# vim /etc/httpd/conf/extra/httpd-default.conf

并关闭服务器的签名以及隐藏服务器的信息:

ServerSignature Off
ServerTokens Prod

启用并适当启动服务:

# systemctl enable httpd
# systemctl start httpd

运行configtest来检查是否有任何配置错误:

# apachectl configtest
 Syntax OK

配置SSL

创建一个自签名证书(我们可以更改密钥大小和有效天数):

# cd /etc/httpd/conf
# openssl genrsa -out server.key 2048
# chmod 0600 server.key
# openssl req -new -key server.key -out server.csr
# openssl x509 -req -days 1825 -sha256 -in server.csr -signkey server.key \
-out server.crt

然后,打开:

# vim /etc/httpd/conf/httpd.conf

取消注释包含以下内容的行:

Include conf/extra/httpd-ssl.conf

重新启动Apache以获取更改:

# systemctl restart httpd

配置PHP

再次打开Apache配置文件:

# vim /etc/httpd/conf/httpd.conf

在LoadModule dir_module modules/mod_dir.so之后的任何位置添加以下行:

LoadModule php5_module modules/libphp5.so

将此行放在“包含”列表的末尾:

Include conf/extra/php5_module.conf

确保在<IfModule mime_module>部分中取消注释以下行:

TypesConfig conf/mime.types

还要取消注释以下行:

MIMEMagicFile conf/magic

将此行添加到/etc/httpd/conf/mime.types中:

application/x-httpd-php php php5

打开PHP配置文件:

# vim /etc/php/php.ini

添加:

date.timezone = Europe/London

还要取消注释以下扩展名:

extension=gd.so
 extension=intl.so
 extension=xcache.so
 extension=mysql.so

重新启动Apache守护程序:

# systemctl restart httpd