Debian 10服务器安装apache+php+mariadb手记

使用debian做网站服务器,是一个无奈的选择,因为我之前重来没用过,总会花一点时间来学习。这都是让天翼云给逼出来的,天翼云最老的上海一资源池,linux只有三个发行版:ubuntu的某个版本、centos 6.x和debian 7。真TMD神坑,他们应该好好的学学什么叫做“与时俱进”。

  • ubuntu就不说了,我喜欢用的opensuse twmbleweed都比ubuntu stable稳定;
  • centos 6.x,最开始用天翼云服务的时候,我选择的linux发行版,那年还是大写的二零一三年!六年过去了,天翼云上海一资源池依然没有centos 8,连centos 7都没有。而且,centos 6滚动升级到7的工具,官方现在都不提供了;
  • debian——成了我唯一的选择,虽然天翼云只有debain 7,但是我可以给debian来个滚动升级,于是我开始了漫长的debian 7 wheezy滚8 jessie滚9 stretch滚10 buster的历程……升级过程中遇到的各种坑在此按下不表。

linux debian

下面简单记录一下我在debian 10.1上安装apache+php+mariadb的过程。

首先解决时间的问题:

vim /etc/timezone #修改文件里的时区为Asia/Shanghai
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

安装时间同步服务,以后再也不怕时间错误了:

apt install chrony

修改hostname,完全是为了ssh的美观:

hostnamectl set-hostname ctyun

安装一些会以后用到的工具:

apt install p7zip-full curl apt-transport-https build-essential iotop iftop htop ioping python python-setuptools

安装apache:

apt install apache2
#下面的命令开启一些apache服务器必要的模块
a2enmod alias dir expires log_config mime setenvif userdir reqtimeout authz_core authz_host filter deflate headers proxy proxy_fcgi rewrite negotiation authn_core mpm_event

每个虚拟主机的配置放在/etc/apache2/sites-available目录下,需要用一个命令使只生效,比如我的onepx.com.conf:

a2ensite onepx.com.conf
#如果不需要这个虚拟主机了,用下面的命令
a2dissite onepx.com.conf
#每次a2ensite或者a2dissite之后都需要systemctl restart apache2

安装php7:

apt install php-fpm php-bcmath php-curl php-bz2 php-gettext php-gd php-imap php-mbstring php-mysql php-pear php-xml php-xmlrpc php-zip
#php开启某个模块的命令是phpenmod,关闭的命令是phpdismon,这点与apache相似

安装好php7之后,系统会在/etc/apache2/conf-available目录下添加一个文件叫做php7.3-fpm.conf,我们需要:

a2enconf php7.3-fpm.conf
#重启apache使之生效
systemctl reload apache2

安装mariadb:

apt install mariadb-server
#运行命令/usr/bin/mysql_secure_installation设置root密码

Debain 10安装的是mariadb 10.3版本,在这个版本中,已经不允许使用root登录phpmyadmin。所以,如果你和我一样习惯使用phpmyadmin的话,那么我们需要创建一个和root一样拥有所有权限的用户:

#登录mariadb
mysql -uroot -p
CREATE USER '新用户名'@'%' IDENTIFIED BY '设置密码';
GRANT ALL PRIVILEGES ON *.* TO '新用户名'@'%' WITH GRANT OPTION;

然后我们就可以用这个新用户名和密码登录phpmyadmin了。

如果需要开启bbr,那么:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

如果需要防火墙,我们入乡随俗使用ufw:

apt install ufw
ufw allow 你的ssh端口/tcp
ufw allow 80/tcp #开启http端口
ufw enable #开启防火墙

现在,你看到的一像素这个网站,已经从年迈的centos 6.10迁移到年轻激进的debian 10.1了。

我的网站备份文件是上传到腾讯云cos的,需要安装coscmd,但是debian自带的pip版本很新,pip安装coscmd没法解决软件包依赖性的问题,所以只能用源码安装的方式:

git clone https://github.com/tencentyun/coscmd.git
cd coscmd
python setup.py install

(完)

LAMP

Email: i at onepx dot com || QQ: ⑧九零三④幺 || 微信: onepxcom
©2023 一像素 蜀ICP备13026576号-2 网站地图