搭建Ubuntu + Apache2 + Mysql5.7.19 +PHP7.2

Lamp测试环境搭建

公司购买的是腾讯的ubuntu的云服务器,该操作系统可以使用apt-get install来安装对应的软件,它会自动加载需要的依赖包。同时可以使用apt-cache search all来查看apt可以安装哪些软件,这在后面开启php扩展时会用到的。项目部署用到的是TP5框架,在将原来的windows项目搬到Ubuntu的测试环境中时,出现不少小问题,如实记录下。

言归正传,lamp环境的安装顺序基本时apache + php +mysql 

安装apache

1.sudo apt-get install apache2

安装完毕后apache2 -v可以看到apache版本,也可以访问ip地址会看到apache页面

安装PHP7.2

2.sudo apt-get install php7.2

安装完毕后php -v可以看到PHP版本,然后输入cat /etc/apache2/mods-enabled/php7.2.load 来查看apache是否有加载libphp7.2.so的解析模块,如果没有正确加载的话,运行sudo apt-get install libapache2-mod-php

安装mysql

3.sudo apt-get install mysql-server

安装完毕后,输入cat  /etc/php/7.2/cli/20-mysqli.ini来查看PHP是否有加载mysqli.so的模块

报错了吗?报错就对了,PHP默认不加载mysql的扩展,需要补充安装

4.sudo apt-get install php7.2-mysql然后重复上一步,就能看到extension = mysqli.so了。

OK,装到这里基本的php开发环境就配置完成了,其实上面的可以一行命令来实现。

apt-get install apache2 php7.2 mysql-server php7.2-mysql

哈哈,再拓展两个知识点,第一:网上有lnmp一键安装包https://lnmp.org/install.html 可以安装lnmp,lamp以及lnmpa,具体参照手册,写的很详细了。第二:通过tasksel工具来安装

sudo tasksel install lamp-server(这个我没试过,tasksel只提供常用的套装如lamp,dns服务器,邮件服务器等等)

SO Easy?不存在的

apache2默认的访问路径实在var/www/html/文件下,这个路径的定义在/etc/apache2/sites-enabled文件夹中通过软连接(ln -s)指向了/etc/apache2/sites-avalable/000-default.conf。

ok,现在先 5.sudo vim /var/www/html/phpinfo.php 写入


echo mysqli_connect(“localhost”,”root”,”123456”)?”妈妈再也不用担心我的数据库了”:”我去年买了个包”;

phpinfo();

第一个问题来了,mysql5.7以上的版本会默认生成一个随机的root密码,centos系统自行百度,这里我就说ubuntu的解决方法,反正我是没在什么/var/log/mysqld.log中找到temperary password。

答:sudo vim /etc/mysql/my.cnf 写入

[mysqld]  

port=3306  

character-set-server = utf8   

explicit_defaults_for_timestamp=1  

skip-grant-tables=1 

重点在skip-grant-tables = 1可以让你跳过验证登陆到mysql控制台,保存退出后重启msyql,用命令6.sudo service mysql restart

然后登陆MySQL,用命令 7.mysql -uroot 啥的,登上去后修改root登陆密码8.UPDATE user SET authentication_string=PASSWORD(123456) WHERE user=”root”;

update user set password=”123456” where user=”root”;

报错也没得关系,反正现在的root的登陆密码是123456了。

此外,mysql是默认关闭远程连接的,如果想用navicat来管理测试服务器的数据库的话,有以下几点:首先释放3306端口只有本地访问的权限设置,即在修改上面的skip-grant-tables =0时,新添bind_address = *,然后进入本地mysql控制台后,use mysql;

GRANT ALL PRIVILEGES ON ‘*’ TO ‘ROOT ’ @ ’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

然后在刷新下权限flush privileges;

不过5.7以上的版本应该会报错,有方法说需要先刷新权限

或者进入mysql控制台后use mysql; 看到database changed字样时UPDATE user set host = ‘%’ where user =’root’;

然后FLUSH PRIVILEGES;

此外,mysql5.7开始msyql库中的user表的password字段变成了authentication_string

select host , root ,authentication_string from host;

接下来就可以愉快的用navicat来导入数据库了。

安装PHP常用的扩展包

每个系统对模块的需求是不一样的,按需安装即可(参考开头的几句话)TP5肯定需要curl扩展包的,举例:

[if !supportLists]9. [endif]sudo apt-get install php7.2-gd php7.2-curl 安装完毕后重启apache看phpinfo.php的指针页面搜索对应的扩展包名称即可


虚拟主机的配置

apache配置虚拟域名以方便在一个服务器上管理不同的项目,apache的配置基本可以修改/etc/apache2/apache2.conf下面直接添加,或者添加一行include ./extra/httpd_vhosts.conf 然后创建相应的目录以及文件,以上不讨论,跟windows版本的配置没啥区别。下面介绍ubuntu下面特别的软连接方式。

/etc/apache2/sites-enabled/目录下软连接的就是对应点虚拟主机,先到/etc/apache2/sites-availabe中创建相应的配置文件,如www.lyhz.com.conf

<VirtualHost *:80>

     DocumentRoot "/home/wwwroot/www.lyhz.com/public"

     ServerName 127.0.0.1

     DirectoryIndex index.html index.htm index.php

        <Directory "/home/wwwroot/www.lyhz.com/public/">

            Options +Indexes +FollowSymLinks +Multiviews

            AllowOverride all

            Require all granted

    </Directory>

</VirtualHost>

先用cd /etc/apache2/sites-enabled ,然后sudo ln -s ../sites-available/www.lyhz.com.conf lyhz

此外,TP需要开启重写模式,有两点注意,上面的AllowOverride all,还有开启apache开启重写模式,cd /etc/apache2/mods-enabled,然后sudo ln -s ../mods-available/rewrite.load rewrite.load

此外,将/etc/php/7.2/cli/php.ini文件中的display_errors = On 和short_tag_open = On

还有,将项目的文件夹chmod -R 777 /home/wwwroot/www.lyhz.com

配置本地hosts文件

Windows用户 C:\Windows\System32\drivers\etc    添加以下几行

111.231.216.94 www.lyhz.com

111.231.216.94 www.citygo.com   

河长的项目—lyhz 自在溧阳—citygo

Android移动端

百度一下啦

Iphone移动端

参考https://laod.cn/hosts/iphone-ipad-ios-hosts.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容