LAMP相关笔记
此文是我在VPS上进行Linux上LAMP相关操作笔记,包括安装、多域名映射与数据库迁移。
1.apache2
sudo apt-get install apache2
2.php
sudo apt-get install php5
3.mysql
sudo apt-get install mysql-server
4.php对mysql的扩展
sudo apt-get install php5-mysql
5.php其它常用扩展包
sudo apt-get install php5-gd curl libcur13 libcur13-dev php5-curl
6、安装phpMyAdmin
通过phpMyAdmin可以很方便的管理我们的MySQL数据库
sudo apt-get install phpmyadmin
上面的环境安装好之后,我们可以尝试一下访问了。首先将服务都重启一下:
重启mysql:sudo service mysql restart
重启apache2:sudo service apache restart
接下来在浏览器输入我们的ip地址,没有意外的话就可以直接访问了。
7.域名与IP的配置
因为IP地址过于难记,我们此时需要域名,我们从域名商那里购买域名,域名供应商会负责接卸域名的DNS,比如我的saymagic.tech域名。如果我想将这个域名映射到我的VPS上,需要前往域名供应商那里将域名的A记录指向自己的IP。类似于这个样子:
这样,当我访问saymagic.cn的时候,域名供应商就会将我们的域名转接到我们的IP地址上。这样我们VPS上的php页面就可以通过域名来访问了。但这样子会有一个缺点,你会发现如果别人拥有域名,也将A记录指向我们的IP,那就危险了,一是会浪费我们的流量,而是也会对我们域名的PR值有影响,因为有两个域名同时指向相同的网站有可能会被视为作弊。所以,我们要配置Apache,让它只能允许我们自己的域名来访问。
前往/etc/apache2/sites-available文件夹下,打开default文件,这个文件就是Apache服务器的默认配置,你可以在这个修改默认的访问路径,将/var/www改为你喜欢的,那么在那里添加域名呢?我们在ServerAdmin上面添加一条配置ServerName www.saymagic.cn。类似这个样子:
完成以后,保存退出,这样以后即使别人指向我们的IP也不会访问到我们的网站了。
8.在服务器上搭建多个站点
完成上面的所有步骤我们已经可以实现自己的一个小站点了,但是我们也会发现我们只能部署一个,如果我们有多个站点想部署上面怎么办呢?方法大同小异,我们只需要copy一份上面提到的default文件,重命名为blog。修改一下blog的内容,如我们要让blog.saymagic.cn域名访问我们的/var/www/blog目录,则只需要将ServerName 后面改为blog.saymagic.cn,对应的目录也做相应修改。下面这样:
保存后,我们只完成了一半,因为我们还需要让apache来加载这个文件,前往/etc/apache2/sites-enabled目录,通过软连接的方式将blog文件引入进来,执行命令
ln -s /etc/apache2/sites-available/blog blog
这样,就会在sites-enabled目录下新建一个指向 /etc/apache2/sites-available/blog的名称为blog的软连接。(blog这个名字可以随意起,因为apache会自动加载sotes-enabled目录下的所有文件) Ok,Everything has Done!去域名商那里把blog.saymagic.cn指向这个VPS的IP,就会让saymagic.cn 与blog.saymagic.cn访问同一个主机,却没有访问同一个目录,达到一个IP上通过apache产生多网站的效果。
9. MYSQL数据库迁移
我们都知道,当数据库逐渐增大,就需要迁移数据库到空间更大的硬盘上,mysql数据库的默认存储目录为/var/lib/mysql下面,每当新建一个数据库后就会再这个目录下新增文件。我以将默认存储路径迁移到/magic/mysql目录下为例:
数据迁移前停止mysql服务
$ sudo service mysql stop#
将目标目录的所属用户组和用户和文件夹权限修改为mysql:mysql 0700
$ sudo chown –vR mysql:mysql /magic/mysql
$ sudo chmod –vR 700 /magic/mysql
为了防止意外,把现有数据复制(cp)到新目录,而不是移动(mv),为保证文件的权限和属性一致,复制过程一定要添加 -a 参数,由于数据量比较大添加 –v 参数可查看复制的过程
$ cp –av /var/lib/mysql* /magic/mysql
编辑MySQL的配置文件my.cnf
$ sudo vim /etc/mysql/my.cof
修改my.cnf文件中的datadir参数值
datadir= /var/lib/mysql修改为datadir=/magic/mysql
编辑apparmor关于mysql的权限配置文件
$ sudo vim /etc/apparmor.d/usr.bin.mysql
修改usr.sbin.mysqld文件中的数据存储目录的相关权限
/data/mysql/ r修改为/magic/mysql r
/data/mysql/** rwk修改为/magic/mysql** rwk
保存退出后重启apparmor服务
$ sudo service apparmor reload
重启apparmor权限服务进程和mysql进程
$ sudo service mysql restart
on