By烟花易冷

Alpine Linux 初上手与安装 PHP7 / MySQL 环境
2017-08-11

Alpine Linux对于广大人民群众而言,可能些许陌生,但是确实一个非常有特色的 Linux 发行版,Docker镜像也小到只有5M,以至于让我接触的第一时间便爱上他了。原本是昨天深夜里于各大小博客之间寻觅OpenVZ构架的VPS使用BBR算法的方法,却发现了这么一个号称占用资源小的系统,甚至兴奋,今天便着手一试。试玩结束后便来了篇流水账(雾)

1.安装

这里我为了还原最贴近实际真机的体验,直接采用了 VMware 虚拟机进行安装而没有采用Docker。从官网 alpinelinux.org 下载iso后,引导进入系统,以 root 无密码登录系统后,执行安装脚本 setup-alpine,安装英文提示完成键盘设置、分区、网络设置之后便可以正式进入系统,对比起 Arch 的安装简直简单的不要不要的。

2.配置root用户SSH

虽然是虚拟机,但是隔着一层薄纱打 Linux 命令还是会有说不出的奇怪。按照我的习惯我便打开 XShell 进行 SSH 链接。默认 alpine 没有开启root 远程登录权限。 ssh远程登录不了。 这时候需要编辑 /etc/ssh/sshd_config增加以下语句,允许 root 登录使用 ssh。

PermitRootLogin yes

我创建 Vmware 虚拟机时,网络勾选了 NAT,只需要在 Alpine Linux 中使用 ip addr 命令查看虚拟系统ip之后便可以轻松从实机连接上

3. 安装 PHP / MySQL 环境

重头戏来了,在保持瘦身的同时,Alpine Linux还提供了自己的软件包管理工具apk(醒醒,真的是叫做apk不是安卓的应用扩展名),我们直接通过apk info 软件名称 列出软件信息以及 apk add 软件名称 命令安装软件。为了把我已经写好的某套系统(看我前一篇博文便知一二)放上去跑跑,我便也安装了 PHP7 和 MySQL。过程大致如下:
apk uodate
apk add php7 #安装PHP7,我安装之后版本号 7.1.7
apk add mysql #安装MySQL,实测安装成功后为 MariaDB

这时候还没有万事大吉,还必须安装一些 PHP库,不然很多函数调用都会失败哦(我在调试Laravel时一个个库去摸索最后成功的,缺库的朋友不妨自行按照这种格式安装试试)。
apk add php7-mysqli php7-pdo_mysql php7-mbstring php7-json php7-zlib php7-gd php7-intl php7-session
同时,MariaDB 数据库还需要进一步设置。
/etc/init.d/mariadb setup #安装
mysql_secure_installation #设置

最后终于我上传了我的 Laravel 项目上去,执行迁移后,使用 php -S 0.0.0.0:80 命令开启 PHP cli server,打开浏览器访问虚拟机的ip,一切正常大功告成。