遭遇飞来横祸,960G的SSD没满3年,直接歇业罢工,尝试硬盘精灵恢复未果,盘扫描全红,死的透透的,SSD果然不同凡响,直接导致 开发验证环境 丢失….悲剧,安装笔记都在虚拟机里面,连着一起死翘翘,堪称凄惨,被迫花了整整一天重新搭建。
想想笔记还是保存在这里比较靠谱,废话不多说了,直接开始:
首先,一些杂七杂八的软件装一下
1,Ubuntu22.04 安装到VM 过程 略
2,VSCODE安装
因为集成的VSCODE 输入日文或者中文有问题,所以卸掉VSCODE,官网下一个然后重装VSCODE,然后装上PHP集成。
3,其他软件
随便搞个带界面的数据库客户端 比如 dbeaver-ce ;安装个Root用资源管理器,方便改配置啥的。
sudo apt install nautilus-admin
接下来,进入正题,PHP5.6在新系统上的安装
//安装依赖
sudo apt install software-properties-common ca-certificates lsb-release apt-transport-https
//追加源
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
//安装5.6
sudo apt install php5.6
php -v //确认OK
//安装其他扩展
sudo apt-get install -y php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-mysql php5.6-gd php5.6-intl php5.6-xsl php5.6-zip libapache2-mod-php5.6
如果需要多个版本PHP可以参考这些站点:https://tecadmin.net/install-php-ubuntu-20-04/
https://www.php.net/manual/zh/function.phpinfo.php
我这边没有这个需求,略过,接下来写个PHP,放到www看下如果浏览器跑没问题,PHP环境就基本OK
<?php
phpinfo();
phpinfo(INFO_MODULES);
?>
第三步,折腾MySQL旧版本
因为各个版本语法上很多细节上的不同(比如5.5不支持current time,5.7之后不支持 select *,etc…太多了),所以既存项目数据库版本定了,直接没法改,随着年代久远,开发环境的搭建都成了技术活。这里Docker拯救了我们,我最早传统方式直接撞墙2天没搞定,Docker一键搞定。
sudo apt install docker.io //安装
sudo service docker start //启动服务
sudo docker run hello-world //测试
sudo docker ps -a // 当前运行的容器
//哒哒..本片主角之一,一句话本地容器部署了一个5.6.49版本的MySQL,强就一个字
sudo docker run -p 3306:3306 --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6.49
//备注:登录到容器控制台
sudo docker exec -it mysql bash
接下来可以用GUI工具连下试验试验,或者一鼓作气脚本SQL导入数据库结构和数据,如下
//本地安装个客户端,链接本地Docker容器里的MySQL服务器端
sudo apt install mysql-client
//导入单个SQL
mysql -uroot -proot -h127.0.0.1 --default-character-set=utf8 -N -f -D pwc< some_ddl.sql
//使用Bash简单的循环命令 导入多个SQL
for SQL in *.sql; do mysql -uroot -proot -h127.0.0.1 --default-character-set=utf8 -N -f -D pwc < $SQL; done
//-N -f 忽略错误 -D目标数据库 其他都知道吧,略
第四步,Apache2虚拟服务器配置
因为项目涉及三个站点,连同一个数据库,所以开发验证环境直接多站点部署。
1,修改/etc/host 添加本地域名解析
127.0.0.1 site1.com
127.0.0.1 site2.com
127.0.0.1 site3.com
2,Apache2 虚拟目录搭建
//拷贝站点配置
sudo cp 000-default.com.conf site1.com.conf
编辑这个文件 DocumentRoot等等信息,这里略过
sudo a2ensite site1.com.conf //开通虚拟目录
sudo e2mode rewrite //支持rewrite
sudo service apache2 restart //重启使有效
参考站点:https://towardsdatascience.com/how-to-host-multiple-website-with-apache-virtual-hosts-4423bd0aefbf
到这里基本上环境就搭好了,接下来就是针对项目,框架安装,各种设定,目录,数据库配置,基本上就涉及项目细节,这边就不描述了。基本上就是根据Log改设置,没有Log加Log,都OK的啦。