设为首页 收藏本站
查看: 446|回复: 0

[经验分享] 把Apache里面的网站和MySQL数据库移动到home盘

[复制链接]

尚未签到

发表于 2016-10-17 09:20:30 | 显示全部楼层 |阅读模式
  最近茶叶在纠结如何管理Linux,碾过配置LAMP这一章,遂在自己的机器上搭建了若干虚拟服务器(一个用于做笔记的WP和一个无聊的站)。无奈经常重装系统,把它们丢在数据库里面特别不靠谱,所以要把它们都搬迁到home盘里面去。
  
  首先我有这些东西:
  
  站点:note(就是那个WP,反正不用区别对待)

  目录
  /var/www/vhosts/note
  配置文件
  /etc/apache2/sites-available/note

  
  站点:test

  目录
  /var/www/vhosts/test
  配置文件
  /etc/apache2/sites-available/test

  
  现在开始搬迁。
  
  由于要搬到home,就给建立个文件夹吧:

  /home/www/vhosts/

  然后把/var/www/vhosts里面的note和test移动过来。(没看出vhosts这个名字有魔法,这是一开始的时候茶叶照书抄的。)
  
  现在我们有了这两个文件夹:

  /home/www/vhosts/note
  /home/www/vhosts/test

  
  然后修改Apache2里面这2个站的配置文件,比如我们vim这个配置文件:/etc/apache2/sites-available/note
  
  修改目录位置:

  DocumentRoot /var/www/vhosts/note/
  和
  <Directory /var/www/vhosts/note/>
               Options FollowSymLinks MultiViews
               AllowOverride None
               Order allow,deny
               allow from all
</Directory>

  为:

  DocumentRoot /home/www/vhosts/note/
  和
<Directory /home/www/vhosts/note/>
               Options FollowSymLinks MultiViews
               AllowOverride None
               Order allow,deny
               allow from all
</Directory>

  
然后注销原来的设置,启用新设定。(可能用不着注销吧?但是我发现/etc/apache2/sites-enabled里面的文件是自动生成的,而修改sites-available处的文件后直接a2ensite又出现站点已经启动的提示,所以我就注销了一遍。)

sudo a2dissite note test;sudo a2ensite note test
  
  然后reload这个Apache2。
  
  这下应该是在新的位置跑起来了。
  
  然后我们来搬动MySQL数据库。找到一篇文章:
  http://forum.ubuntu.org.cn/viewtopic.php?t=378207
  
  照着这个东西来:
  
  首先我们要关闭数据库和Apache等种种东西,否则是不可以搬动它的。

sudo service mysql stop
  
  然后我们搬走它:(我建立了一个db文件夹)

sudo mv /var/lib/mysql /home/db/
  
  编辑MySQL的配置文件/etc/mysql/my.cnf,把其中datadir(这一项在[mysqld]里面)后面的目录改为我们的目录,如:

  datadir = /home/db/mysql/

  
  按照一般的解释,Ubuntu有一个叫做Apparmor的软件用来保护系统不受错误的设置损害,像我们这样直接改动过后是跑不起来的。
  
  现在我们修改这个Apparmort:

sudo vim /etc/apparmor.d/usr.sbin.mysqld
   注释掉原来的两行目录位置,新增加我们的目录,后面选项不变。

  #  /var/lib/mysql/ r,
#  /var/lib/mysql/** rwk,
 /home/db/mysql/ r,
 /home/db/mysql** rwk,

  
  还要修改一个文件:

sudo vim /etc/apparmor.d/abstractions/mysql
  
  注释掉原来的行,加入我们的目录:

  #   /var/lib/mysql/mysql.sock rw,
  /home/db/mysql/mysql.sock rw,

  
  然后就搞定了~~
  
  重启这个Apparmor、MySQL、Apache2:
  

    sudo /etc/init.d/apparmor reload
sudo /etc/init.d/mysql start
sudo service apache2 start
   
  然后就搞定啦~~
  
  最后做了小修改,免得外面访问进来可以列目录(我那两个站只绑定了本地回环上面的ip地址),我在/etc/apache2/apache2.conf中加入了这么几行,这样外面进来就会提示禁止访问:

  #To forbid access to /vaw/www/
<Directory /var/www/>
       Options FollowSymLinks
</Directory>

  
  来源:http://leosong.diandian.com/post/2012-12-12/40047556190
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-287253-1-1.html 上篇帖子: 利用Digium卡搭建一个小型的asterisk电话系统 (二、添加Mysql支持) 下篇帖子: mysql根据父id得到所有子id mysql树得到子id
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表