决定扔掉那些集成开发环境,今后的学习和开发均在vagrant+virtual+ubuntu下完成。vagrant的搭建可以说是非常快捷了,其原理就是将依赖环境搭建在虚拟机中,然后将本地文件(宿主机)映射到虚拟机并实现访问。即便如此,在搭建过程中依然有不少的坑要填。

安装vagrant 和 virtualbox

日常的工作和学习,我基本上都是在win7和MacOS下完成的,因此使用vagrant可以帮助我非常容易的实现在不同系统下部署完全一致的开发环境。
之所以在2017年的今天还在使用Ubuntu 14.04是因为这台Win7机器下只有低于Ubuntu14.04(含)的版本的Box盒子才能正常跑起来,主要是受vagrant版本太低的限制。
win7 下应当采用vagrant 1.9.3+ Virtualbox 5.1.3的组合,否则会出现各种像无法启动box,启动box后卡在密钥验证那里无法进入系统等奇葩问题,官方给出的解释是,win7最高支持到1.9.3。
Mac 10.12 下可以直接安装最新版,直接去官网下载最新的DMG安装包安装就好。

目录设置

 └─trusty32  
     ├─.vagrant
     │  └─machines
     │  └─default
     │  └─virtualbox
     └─www   # 共享目录,宿主机文件和虚拟机同步目录

Vagrantfile配置(分配IP和共享目录)

config.vm.network "private_network", ip: "192.168.33.20" 指定虚拟机IP为 192.168.33.20

config.vm.synced_folder "./www", "/vagrant/www/", :mount_options => ["dmode=777","fmode=777"] 分配共享目录,即trusty32下的www的目录挂载在虚拟机/vagrant/www目录下。

vagrant和virtualbox的安装非常简单,不再赘述。主要记录ubuntu 14.04下搭建PHP7+Mysql+Apache2.4+Adminer的过程:

安装Apache

更新镜像源:sudo apt-get update && sudo apt-get upgrade

安装Apache2.4: sudo apt-get install apache2。安装完成在浏览器输入192.168.33.20,看到Apache2 Ubuntu Default Page: It Works!则说明Apache2安装成功。

安装 Mysql

wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb 下载MYSQL5.7安装包
sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb 添加到库
sudo apt-get update 更新软件源
sudo apt-get install mysql-server 安装Mysql服务

导入安装源的过程中会提示密钥无效:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8C718D3B5072E1F5
apt update
安装过程中会要求输入root密码。

安装完成后输入 mysql -uroot -p登入Mysql服务器验证是否成功安装了mysql服务

ARM的问题:
报错:ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
解决: usermod -a -G aid_inet,aid_net_raw mysql
service mysql restart

安装PHP7.0

sudo apt-get install php7.0 php7.0-cli php7.0-fpm php7.0-gd php7.0-json php7.0-mysql php7.0-readline php7.0-xml php7.0-mbstring php7.0-curl

2020年10月23日更新:

安装PHP7.3

sudo apt update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.3-fpm php7.3-mcrypt php7.3-cli php7.3-xml php7.3-mysql php7.3-gd php7.3-imagick php7.3-recode php7.3-tidy php7.3-xmlrpc php7.3-mbstring php7.3-curl

整合

整合PHP与Mysql

sudo apt-get install php7.0-mysql

整合PHP与Apache
sudo apt-get install libapache2-mod-php7.0
重启Apache sudo service apache2 restart

验证

在apache默认网页目录下新建info.php
sudo vi info.php

<?php
echo mysqli_connect('localhost','root','root')?"数据库连接成功":"数据库连接出错";
phpinfo();

标签: LAMP

分享到: