想要自己搭点Web应用,但是由于不懂的东西实在是太多了,想要利用现成的框架或者模版都不知道从何下手。
所以先从造轮子开始吧。
1.安装集成了LAMP的Ubuntu
Ubuntu实在是个好东西,Ubuntu16.04.2在安装的时候直接可以选择LAMP服务器,简直是小白救星,否则后面自己逐个安装的话配置文件啥的能把人搞晕
另外有需要的话也可以把邮件服务、smb和SSH(为了方便最好选上)都选上。
之后会提示配置MySQL root用户的口令,然后等着装完就行了。
2.配置工作
2.1 操作系统配置
一开始root用户密码是随机的,需要先配root用户密码
配置网络(这个不会就上网查吧)
2.2 MySQL配置
用数据库管理工具一开始是无法远程连接MySQL的
主要是要修改mysql配置文件和mysql数据库中user表(具体操作上网查吧)
2.3 SSH配置
配这个主要是为了方便用WinSCP传文件
一开始root用户是不能通过SSH远程登录的,需要修改SSH的配置文件。(这个不会就上网查吧)
3.使用PHP连接MySQL
当时我走了些弯路,在一个叫W3school的网站上说是这么连接的:
后来才知道,PHP版本升级了,使用MySQLi extension进行连接
使用WinSCP连接服务器,把/var/www/html目录下的index.html替换成下面这段代码,文件名变成index.php。
记得修改代码里的用户名和口令。
然后用浏览器访问一下你的服务器,应该就能看到连接成功了。
4.做一个简单的带鉴别的页面
4.1 添加用户数据库
生成一个用户列表的数据库(可以手动添加,也可以用MySQLi生成,具体操作上网查吧)
4.2 利用session实现登录
http是不带状态的协议,没办法判断用户是否登录,一般来讲主要是用cookie和session来实现的,简单来讲,cookie就是记录在浏览器端的状态,session是记录在服务端的状态,我目前知道的就是这么多了。
php自带了session的功能,我们直接拿来使用就好了。
我做了两个页面,一个登录页面index.php和一个登录成功的页面welcome.php
index.php
访问是这种效果:
welcome.php
使用test1/123qwe登录后:
PS
以上只是实现了最简单的登录功能,很多安全方面的问题都欠考虑,至少对输入的字符没有做任何过滤,而且页面跳转的方式大概也有问题,可能实际并不是这么操作的。不过毕竟是造轮子,大概知道原理就好了,后面还是得依靠现成的框架才是正路。