archlinx下配置Apache+PHP+MySQL环境

2018-02-05 10:42:59来源:segmentfault作者:hiYoHoo人点击

分享

以下过程步骤均参考自archwiki

配置Apache[/etc/httpd/conf/httpd.conf]
Listen localhost:80
DocumentRoot "/home/admin/website"
<Directory "/home/admin/website">
启动apache服务:systemctl start httpd.service
关闭apache服务:systemctl stop httpd.service
重启apache服务:systemctl restart httpd.service
安装PHP[/etc/php/php.ini]
sudo pacman -S php
date.timezone = China/Shanghai
display_errors = On
Apache中配置PHP[/etc/httpd/conf/httpd.conf]
sudo pacman -S php-apache
添加注释:#LoadModule mpm_event_module modules/mod_mpm_event.so
取消注释:LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
LoadModule末尾添加:
LoadModule php7_module modules/libphp7.so
AddHandler php7-script php
Include末尾添加:
Include conf/extra/php7_module.conf
重启Apache服务:
systemctl restart httpd.service
测试PHP
/home/admin/website下创建index.php,写入<?php phpinfo(); ?>。访问http://localhost

安装MariaDB
sudo pacman -S mariadb
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
sudo systemctl start mysqld
mysqladmin -u root password '123456'
sudo systemctl restart mysqld
以root登录:mysql -u root -p
添加用户:
MariaDB> CREATE USER 'hiyohoo'@'localhost' IDENTIFIED BY '123456';
MariaDB> GRANT ALL PRIVILEGES ON mydb.* TO 'hiyohoo'@'localhost'
MariaDB> FLUSH PRIVILEGES;
MariaDB> quit
禁用远程访问[/etc/mysql/my.cnf]:
取消注释:skip-networking
启用自动补全[/etc/mysql/my.cnf]:
将 no-auto-rehash 替换为 auto-rehash
为数据库使用 UTF-8 编码
在 /etc/mysql/my.cnf 添加:



[client]
default-character-set = utf8mb4

[mysqld]
collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4

[mysql]
default-character-set = utf8mb4

使用内存作为临时文件存放点
创建一个临时目录:
# mkdir -pv /var/lib/mysqltmp
# chown mysql:mysql /var/lib/mysqltmp
通过命令找出 mysql 的id和gid:
$ id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)
添加到 /etc/fstab 中。
tmpfs /var/lib/mysqltmp tmpfs rw,gid=27,uid=27,size=100M,mode=0750,noatime 0 0
将以下配置添加到 /etc/mysql/my.cnf 的 mysqld 组下:
tmpdir= /var/lib/mysqltmp
然后重启系统以使配置生效。

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台