龙空技术网

个人云服务器建设——(2)Ubuntu16.04安装LAMP

魏智勇 12551

前言:

此刻咱们对“ubuntulamp网站”都比较看重,同学们都需要知道一些“ubuntulamp网站”的相关内容。那么小编在网摘上收集了一些有关“ubuntulamp网站””的相关内容,希望各位老铁们能喜欢,同学们快快来学习一下吧!

介绍

完成服务器的基本配置后,如果要架设个人网站,还需要安装一些基本的组件。架设网站通常可以使用PHP,JSP,ASP或者Python等,其中PHP最为常见,也是被称为“最好的语言”(不要当真,Python才是最好的语言)。PHP相比JSP,ASP等在搭建网站方面使用都要广泛的多,如果需要进一步研究,上手也比较快,基于PHP的Wordpress也是应用嘴广泛的博客系统之一,不仅用于个人博客建站,很多企业与机构也都有使用。而WordPress的架设平台最好的配置之一就是LAMP。

所谓LAMP并不是指一个软件,而是Linux,Apache,Mysql和PHP的缩写(程序员可能是最喜欢创造缩写词的群体了吧),也就是在Linux下采用Apache网络引擎和MySQL数据库,使用PHP语言搭建网站的整个环境。类似的,在Windows系统下这一套环境叫做WAMP,而更有一套跨平台的解决方案叫做XAMPP,其中X指的可以跨平台用于Windows,Linux或者MacOS,而最后一个P则是增加了对Perl语言的支持。Ubuntu作为最受欢迎的Linux发行版本之一,对LAMP的支持也是相当成熟的。

安装Apache

安装

安装Apache可以通过Ubuntu内置的apt-get命令,具体要安装的是apache2

sudo apt-get updatesudo apt-get install apache2

安装完成后,还需要设置一下主机的域名或者ip地址才可以。关于域名的解析可以参考相关的文章,如果暂时没有域名,只要添加运营商提供的ip地址即可。

通过nano或者vim打开apache的配置文件,并在最下方添加下IP信息。

sudo nano /etc/apache2/apache2.conf

在文件中找到或添加下面一行。

ServerName (服务器的域名或者IP地址)

修改并保存后,可以通过下列命令重启Apache服务,并进行测试

sudo systemctl restart apache2sudo apache2ctl configtest

配置防火墙

检查防火墙状态

sudo ufw list

如果没有意外,可以看到Apache Full和OpenSSH服务需要通过防火墙,检查apache的状态。

sudo ufw app info "Apache Full"

可以看到默认使用 80,443/tcp 端口和协议。在防火墙打开Apache入站规则(只有这样别人才能访问到你的网站)。

sudo ufw allow in "Apache Full"

在浏览器中输入你的域名或者IP地址,就能看到Apache的默认页面了。如果提示打不开或者找不到页面,可以检查一下上述步骤是否正确。对于阿里云的云服务器,也可能因为服务器安全规则组里面没有打开相应端口,这就需要参考相关云服务器手册配置一下安全组规则才可以。

也可以在命令行通过curl指令进行网络检查,这需要先安装curl包,这也是ubuntu下很有用的包。

sudo apt-get install curlcurl http://你的ip地址
安装MySQL

由于鼎鼎有名的发明了Java语言的Sun公司不小心被数据库巨头Oracle收购,而在此之前MySQL又被Sun公司收购,这就导致原本在开源界最有影响力的MySQL直接成了竞争对手商业数据库Oracle(甲骨文)的旗下产品,虽然Oracle仍然继续提供MySQL的社区版,但MySQL的影响力正在逐步下降了。原MySQL的创建人新建了一个以自己女儿命名的MariaDB项目,这个项目在前期完全与MySQL兼容,所以下面安装和配置MySQL的命令,基本也都可以用在MarialDB中,但最新版本的MarialDB与MySQL已经不再完全兼容,所以可能会存在一些未知的兼容性问题。不过从长远来看,MariaDB最近拿到了阿里的融资,应该能够持续发力,有望赶超MySQL。

闲话少叙。在Ubuntu下安装MySQL或者MariaDB都很方便

sudo apt-get install mysql-server或者sudo apt-get install mariadb-server

安装过程中会提示输入root用户(是数据库的root用户,不是操作系统的)的密码,仍然建议使用强密码,任何时候都建议使用强密码,不要问我为什么。

安装完成后通过下列命令登陆数据库。

mysql -u root -p

进入mysql命令行系统,系统提示符会变成>。注意,MySQL下所有命令必须通过;结尾,这跟直接在shell里面输入命令是不同的。

和系统管理有关的mysql几个常用命令如下:

SHOW DATABASES; 显示所有数据库CREATE DATABASE wordpressdb;新建一个数据库,名为wordpressdbDROP DATABASE wordpressdb;删除一个数据库CREATE USER wordpressuser@localhost IDENTIFIED BY 'password'; 新建一个本地用户wordpressuser,通过密码验证,要把password换成自己的密码。GRANT ALL PRIVILEGES ON wordpressdb.* TO wordpressuser@localhost; 赋予wordpressuser用户wordpressdb的所有权限。

最重要的一个指令,

FLUSH PRIVILEGES;

执行完每个操作后,尽量都通过FLUSH PRIVILEGES指令更新一些数据库权限,保证权限写入进去,否则可能发现该建立的数据库或者用户没有建立起来。如果发现建立用户或者数据库abc不成功,一个解决方案是假设已经建成功了abc,先使用drop命令删除掉abc,然后flush privileges,然后重新建立,再flush privileges.

最后,操作完mysql之后通过exit;命令退出mysql环境,回到shell环境下。

为了提高数据库安全性,可以运行一次安全安装,安装一个VALIDATE PASSWORD PLUGIN的插件。

mysql_secure_installation

安装过程中会提示是否要安装VALIDATE PASSWORD PLUGIN选y,提示选择密码安全等级,推荐选1或者2。然后可以禁止掉root远程访问数据库的权限以保证安全,并且按照提示删除匿名访问的权限和test数据库。

安装PHP

PHP安装可以通过下面的命令

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

因为我们安装了PHP,就要把apache里面检测首页的顺序调换一下。打开apache目录配置文件。

sudo nano /etc/apache2/mods-enabled/dir.conf

找到下面内容,并且把index.php 挪到index.html前面,在保存并关闭文件。

<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm</IfModule>

通过命令行重启apache并检查状态

sudo systemctl restart apache2sudo systemctl status apache2

安装PHP模块

可以通过下列命令搜索所有的php模块,

apt-cache search php-|less

如果要显示某个模块的详情,用show命令,安装也可以通过apt-get命令,比如检查并安装php-cli模块

apt-cache show php-clisudo apt-get install php-cli

检查PHP安装情况

在apache目录下新建一个info.php文件

sudo nano /var/www/html/info.php

文件里面写入下列内容

<?phpphpinfo();?>

在浏览器访问

http://(ip地址或域名)/info.php

如果可以看到php的版本状态,证明安装成功。验证成功后务必删除info.php文件以保证系统安全。

标签: #ubuntulamp网站