Caddy Server 笔记 v3 - Caddy PHP MariaDB Supervisor
重新整理下Caddy Server,PHP的配置过程。
系统弄Ubuntu 16.04 64bit,Web服务器Caddy Server,PHP版本7.0,数据库用MariaDB 10.0,进程管理Supervisor。
必备和常用软件安装
系统软件更新:
apt-get update
常用软件安装:
apt-get install -y curl nano unzip
一键安装 Caddyserver:
curl https://getcaddy.com | bash
安装 PHP7.0、MariaDB、Supervisor:
apt-get install -y php7.0-fpm php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php7.0-mbstring php7.0-mcrypt php7.0-xml php7.0-xmlrpc mariadb-server supervisor
软件配置
MariaDB数据库配置
mysql_secure_installation
输出太长了,这里简短一下(基本上一路回车):
Set root password? [Y/n] # 是否设置root用户密码,安装的时候默认是空密码的,一般要设置一下;回车后出入2遍密码
Remove anonymous users? [Y/n] # 是否移除匿名用户
Disallow root login remotely? [Y/n] # 是否禁止远程登陆root用户
Remove test database and access to it? [Y/n] # 是否删除测试数据库
Reload privilege tables now? [Y/n] 重新加载权限表
如禁止了root
用户的远程登陆,如果安装了例如phpMyAdmin等数据库管理,是没法用用root
登陆的,需要创建另一个数据库用户。
建立一个拥有全部权限的数据库用户:
# 登陆数据库(随后输入root用户密码,如 空 则直接回车):
mysql -u root -p
# 添加一个名为admin,密码为mypass的用户:
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'mypass';
# 赋予全部权限:
GRANT ALL ON *.* TO 'admin'@'localhost';
# 刷新权限:
FLUSH PRIVILEGES;
# 退出:
quit
PHP配置
PHP-FPM的配置文件为php.ini
,路径:
/etc/php/7.0/fpm/php.ini
安全配置,上传文件大小限制等(全部复制):
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/7.0/fpm/php.ini && \
sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 128M/" /etc/php/7.0/fpm/php.ini && \
sed -i "s/post_max_size = 8M/post_max_size = 128M/" /etc/php/7.0/fpm/php.ini && \
service php7.0-fpm restart
进程管理 Supervisor 配置
通过 Supervisor 让 Caddyserver 常驻后台,添加一个配置文件:
nano /etc/supervisor/conf.d/caddy.conf
内容:
[program:caddy]
command = /usr/local/bin/caddy -agree=true -conf /home/Caddyfile
user = root
autostart = true
autoresart = true
先不要启动,仅重载配置:
# 读取有更新(增加)的配置文件,不会启动新添加的程序
supervisorctl reread
Caddy 配置
以下是一段命令,可以根据自己网站规划目录(/home/www
计划放网站文件;/home/www/default
是我准备建立的一个站点;/home/log
放网站日志;default.access.log
站点default
的访问日志,default.error.log
站点default
的错误日志):
mkdir /home/{www,ssl,log} && \
mkdir /home/www/default && \
touch /home/log/{default.access.log,default.error.log}
Caddy 配置文件,上面 Supervisor 的配置中已经指明了路径/home/Caddyfile
:
nano /home/Caddyfile
内容(因为是测试的,端口我随便弄了个10086
;Caddy的自动SSL设置关闭tls off
;弄了个HTTP基本认证;php
走fastcgi
):
:10086 {
root /home/www/default
# tls admin@onebox.site
tls off
log /home/log/default.access.log
errors /home/log/default.error.log
browse
# HTTP基本认证,用户名user,密码mypass:
basicauth / user mypass
fastcgi / /run/php/php7.0-fpm.sock php
}
测试站点
在目录/home/www/default
放上一个测试文件,例如phpMyAdmin(下面是一段命令):
cd /home/www/default && \
wget https://files.phpmyadmin.net/phpMyAdmin/4.7.3/phpMyAdmin-4.7.3-all-languages.tar.gz && \
tar -xzvf phpMyAdmin*.tar.gz && \
rm phpMyAdmin*.tar.gz && \
mv * PMA
修改目录和文件权限:
chown -R www-data:www-data /home/www
用 Supervisor 的命令行工具 supervisorctl 启动 Caddy:
# 读取有更新(增加)的配置文件,不会启动新添加的程序
supervisorctl reread
supervisorctl add caddy
# 启动 Caddy
supervisorctl start caddy
浏览器中打开IP地址加端口,例如1.1.1.1:10086
,输出上面设置的用户名和密码后,就可以看到目录索引,有个PMA
的文件夹,点击链接进去就是phpMyAdmin。
添加站点,例如WordPress
更新中
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
[...]Caddy Server 笔记 v3 – Caddy PHP MariaDB Supervisor – OneBox[...]