文档章节

制作xampp7.00,centos6.7,vagrant box网站服务器

不避风云
 不避风云
发布于 2016/01/01 16:50
字数 2498
阅读 153
收藏 3
点赞 0
评论 0

制作基于centos6.7和xampp7.0.1的vagrant box

下载地址:http://pan.baidu.com/s/1o6Zq5zc

参考网页:

已有较多的制作教程,本例讲述在Ubuntu麒麟下的制作过程。

一、软件准备

二、准备工作

1、virtualbox 安装

本文下载的是deb文件,下面主要讲述命令行安装方式。

sudo dpkg -i /path/to/virtualbox.deb

安装完成后,应该可以在终端输入virtualbox启动virtualbox软件。

关闭virtualbox后,双击下载的virtualbox扩展包,可以直接安装成功。

2、vagrant 安装

下载最新包安装即可。

sudo dpkg -i /path/to/vagrant.deb

上面两步也可以跳过,直接使用命令行如下安装。

sudo apt-get install vagrant virtualbox -y

切记给virtualbox安装扩展支持。

三、安装centos

1、预备安装

  • 打开虚拟机virtualbox,New新建主机命名centos,
  • Type类型选择Linux,
  • Version版本选择Red Hat(64bit),
  • Memory size内存大小可以设置为512MB或者更多,
  • Hard drive 硬盘选择Create a virtual hard drive now新建硬盘,点击创建,
  • File Location硬盘文件地址选择默认,或者其他位置,看你磁盘空间而定,
  • File size硬盘大小默认8G足够,如有更多需求,你可以调大;
  • Hard Drive file type硬盘类型,选择VDI
  • Storage on physical hard drive 驱动存储方式, 选择 Dynamically allocated动态方式, 点击Create创建;
  • 现在打开Settings 设置,在存储里找到Controller:IDE,选择你下载的centos-6.7-x86-64-bin-DVD1.iso
  • 在声音和端口内关闭声音和USB驱动。
  • 点击确定

2、安装系统

选择virtualbox的centos,点击启动即可。

  • 建议安装过程中语言之类的选择English,如果需要可以选择中文简体。
  • root密码设置为vagrant
  • 时区选择Asia/Shanghai,时间不选UTC。
  • 最后安装类型选择最小化安装。
  • 其他选择默认。 安装完毕后重启。

3、配置系统(手动版)

本小节为配置的手动版,下面还有自动版(Kickstart Profile Installation)。两者选择其一即可。

下面非特殊说明,用户均为root。登录系统。用户名和密码为root,vagrant

3.1 启动网卡

系统默认不启动网卡的,所以要先启动他。

ifup eth0

3.2 安装必须的一些软件包

yum install -y openssh-clients man git vim wget curl ntp gcc

其中vim自认为不需要,gcc是为后续安装虚拟机系统guest os内部的virtualbox扩展包所用。

如果不可以上网,确认你虚拟机网络借口的配置方式是否正确,试试桥接或NAT方式,如果实在不行,请避免选用最小安装包的.iso文件,选择正确的安装包。

3.3 配置一些启动默认项

  • 启动ntpd服务
chkconfig ntpd on
  • 启动sshd服务
chkconfig sshd on
  • 设置SELinux允许
sed -i -e 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config

3.4 创建vagrant用户及其相关内容

useradd vagrant
mkdir -m 0700 -p /home/vagrant/.ssh
curl https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub >> /home/vagrant/.ssh/authorized_keys
chmod 600 /home/vagrant/.ssh/authorized_keys
chown -R vagrant:vagrant /home/vagrant/.ssh
sed -i 's/^\(Defaults.*requiretty\)/#\1/' /etc/sudoers
echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

考虑到一般不会对vagrant做太多改动,故采用默认的做法。 上述命令详细解释及说明见:http://thornelabs.net/2013/11/11/create-a-centos-6-vagrant-base-box-from-scratch-using-virtualbox.html

3.5 配置网卡参数

编辑/etc/sysconfig/network-scripts/ifcfg-eth0,部分参数如下:

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp

重启电脑进入 4、安装虚拟机操作系统centos的virtualbox扩展。

3、配置系统(自动版)

详见参考文献:http://thornelabs.net/2013/11/11/create-a-centos-6-vagrant-base-box-from-scratch-using-virtualbox.html

<table> Kickstart Profile Installation I used this Kickstart Profile to automate the build. When the CentOS boot menu appears, highlight Install or upgrade an existing system, hit the Tab key to bring up the anaconda boot line, and append the following:

noverifyssl ks=https://raw.githubusercontent.com/jameswthorne/kickstart-profiles/master/centos-6-x86_64-vagrant-box.txt

Hit the Enter key and wait for the installation to finish.

</table>

说人话就是:

在centos系统启动菜单里,选择Install or upgrade an existing system,点击Tab键,在后面添加如下内容。

noverifyssl ks=https://raw.githubusercontent.com/jameswthorne/kickstart-profiles/master/centos-6-x86_64-vagrant-box.txt

回车,等待安装完成。

重启电脑进入 4、安装虚拟机操作系统centos的virtualbox扩展。

4、安装虚拟机操作系统centos的virtualbox扩展

打开virtualbox某个虚拟机时,最上面菜单栏有个设备>安装增强功能。如果你电脑联网,virtualbox一般会自动帮你下载好该光盘并挂载在你的虚拟机上。 下面假设该光盘已经在你电脑上了。实在无法解决的,可以自行百度下载。

root用户进入到虚拟机centos中

在/root文件夹下新建一个文件cdromtmp

mkdir /root/cdromtmp

把光盘挂载到/root/cdromtmp下

mount /dev/cdrom /root/cdromtmp

注意,上面有可能是/dev/cdrom1或者其他,可以使用命令ls /dev/cdrom*查看,确实是否存在。

执行安装该扩展功能。

/root/cdromtmp/VBoxLinuxAdditions.run

找到类似的VBoxLinuxAdditions.run.run文件即可。有时候会出现缺少 kernel-devel-xxx的问题,按照提示安装。 最后可能会有opengGL的相关东西安装失败,不影响操作,可以继续。 这样就安装成功了。建议重启电脑。

四、安装xampp

centos系统一般默认是开通ssh,22端口的。如果可以查看centos的IP地址,不妨设为192.168.1.201,可以采用ssh或者sftp跟centos联通。 下面假设可以访问该虚拟机。

ssh root@192.168.1.201

1、开通8080,80,22端口

下面如果没有特别说明,均为root用户在ssh里操作。

centos 6.7依旧采用的是iptables管理端口。跟centos7不同。 编辑文件,

vi /etc/sysconfig/iptables

加入如下内容,一般22端口默认开通了,其他端口可以类似添加开通。

-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT

保存退出,重启查看iptables

/etc/init.d/iptables restart
/etc/init.d/iptables status

2、安装xampp

通过sftp把其他电脑上的xampp.run文件复制过来。

sftp root@192.168.1.201
#跳过代码部分
sftp put /path/to/xampp.run ./

这样把xampp.run文件复制到/root文件夹下了。

如果xampp.run没有执行权限,需要添加可以执行权限。

chmod u+x ./xampp.run

下面安装xampp.run文件。

./xampp.run

记住选择非开发模式。默认安装在/opt/lampp文件夹。

可以顺利安装完成。

可以在/opt/lampp/htdocs/下新建一个文件夹www,并让所有人对该文件夹操作。

mkdir /opt/lampp/htdocs/www
chmod -m 0777 -p /opt/lampp/htdocs/www

3、xampp加入开机自启动

首先在/etc/init.d下添加一个xampp启动脚本

vi /etc/init.d/xampp.sh

添加以下内容

#!/bin/sh
/opt/lampp/lampp start

保存退出,添加自启动

vi /etc/rc.d/rc.local

加入以下代码

sh /etc/init.d/xampp.sh

保存退出 注意要给上面两个文件加上执行权限。

chmod u+x /etc/init.d/xampp.sh
chmod u+x /etc/rc.d/rc.local

4、配置xampp可以在同局域网下使用phpmyadmin

编辑文件,

vi /opt/lampp/etc/extra/httpd-xampp.conf

修改为如下情况

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
#       Require local
        Require all granted
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>

注释掉只能本地访问功能,增加外网访问能力。 保存退出。

5、编辑文件/opt/lampp/etc/httpd.conf

vi /opt/lampp/etc/httpd.conf

在文中搜索httpd-vhost.conf,会找到

#Include etc/extra/httpd-vhosts.conf

取消该行注释。

在文中搜索80,会找到

Listen 80

改为

Listen 80
Listen 8080

6、编辑/opt/lampp/etc/extra/httpd-vhosts.conf

vi /opt/lampp/etc/extra/httpd-vhosts.conf

加入如下内容,可以类似修改。

<VirtualHost *:80>
    ServerAdmin bubifengyun@sina.com
    DocumentRoot "/opt/lampp/htdocs/www"
    ServerName personshakehand.lxfive.com
    ServerAlias www.personshakehand.lxfive.com
    ErrorLog "logs/personshakehand-error_log"
    CustomLog "logs/personshakehand-access_log" common
</VirtualHost>

<VirtualHost *:8080>
    ServerAdmin bubifengyun@sina.com
    DocumentRoot "/opt/lampp/htdocs"
    ServerName backend.personshakehand.lxfive.com
    ServerAlias www.backend.personshakehand.lxfive.com
    ErrorLog "logs/backend-personshakehand-error_log"
    CustomLog "logs/backend-personshakehand-access_log" common
</VirtualHost>

五、清理现场

在虚拟机中,去除一些不需要的日志信息等。

rm -f /etc/udev/rules.d/70-persistent-net.rules
yum clean all
rm -rf /tmp/*
rm -f /var/log/wtmp /var/log/btmp
history -c
shutdown -h now

删掉虚拟机的光盘驱动。

打开存储,可以看到有光盘标志的地方,选中他,在下面有删除按钮,选择删除他。

六、创建 create vagrant box

退出到主机,非虚拟机。

vagrant package --output centos-6.7-x64.box --base centos

添加vagrant box

vagrant box add centos-6.7-x64 centos-6.7-x64.box

跳转到工作文件夹

cd /opt/lampp/htdocs/www

初始化vagrant

vagrant init centos-6.7-x64

修改Vagrantfile,这时会在当前文件夹下看到Vagrantfile文件,其中部分内容如下。

  config.vm.network "public_network", ip: "192.168.1.201"
  config.vm.synced_folder "./", "/opt/lampp/htdocs/www/"

确保在局域网其他电脑也可以访问测试。并让当前工作文件夹和虚拟机服务器centos对应的文件夹可以访问。

启动vagrant,默认在当前文件夹下,

vagrant up

会弹出选择网卡等信息,如果不出意外,应该是可以正常启动了。

七、备注

  • 本文制作的centos-6.7-x64.box在百度云盘提供下载。
  • 在制作过程中对MySQL的用户和密码都进行了修改,分别为test,test

使用说明:

  • 假设你已经安装好了virtualbox,vagrant,且你的virtualbox支持64位操作系统。
  • 下载好centos-6.7-x64.box
  • 进入到你的工作项目根目录,不妨设为/opt/lampp/htdocs/www
  • 安装该虚拟机
vagrant box add <your-webserver-name> /path/to/centos-6.7-x64.box
vagrant init <your-webserver-name>
vagrant up
  • 如果你的虚拟机允许正常,关闭vagrant
vagrant halt
  • 可以编辑当前目录下的Vagrantfile文件,类似如下修改。
  config.vm.network "public_network", ip: "192.168.1.201"
  config.vm.synced_folder "./", "/opt/lampp/htdocs/www/"
  • 使用xampp,在/opt/lampp/htdocs/www下新建项目文件夹,
  • 在同一局域网其他电脑上,查看虚拟机IP地址对应的网站。

有问题欢迎在下面留言,或者发送邮件到bubifengyun@sina.com

© 著作权归作者所有

共有 人打赏支持
不避风云
粉丝 23
博文 89
码字总数 68627
作品 0
闵行
程序员
Vagrant 打造跨平台开发环境(制作篇)

物理机 OS:win 7 virtualbox:4.3.12大体步骤如下 1. 准备 在物理机上安装virtualbox(4.3.12)下载centos系统(CentOS-6.5-x86_64-bin-DVD1.iso) 2. 在virtualbox中创建一个新的虚拟机 虚拟机...

2688 ⋅ 2016/01/12 ⋅ 0

使用vagrant+VirtualBox搭建虚拟开发环境

Vagrant是一款用来构建虚拟开发环境的外挂工具,可以简化虚拟机配置和管理。它底层支持VirtualBox、VMware、AWS等,非常适合使用php/python/ruby/java语言开发web应用,“代码在我机子上运行...

bluehawksky ⋅ 05/23 ⋅ 0

PHP Laravel-Homestead开发环境安装与配置

Laravel Homestead 是一个官方预载的 Vagrant「封装包」,提供你一个美好的开发环境,不需要在你的本机端安装 PHP、HHVM、网页服务器或任何服务器软件。 Homestead 可以在任何 Windows、Mac...

王永濤 ⋅ 2016/09/23 ⋅ 0

可持续自动化构建微服务(1)快速搭建虚拟机环境

1.1 软件需求 1) vagrant1.9.6x86_64.msi 2) VirtualBox-5.1.24-117012-Win.exe 3) vagrant-centos-7.2.box 1.2 准备工作 1.2.1 安装 virtualBox 到 官 网 https://www.virtualbox.org/wiki/......

jato333 ⋅ 05/28 ⋅ 0

Vagrant 打造跨平台的开发环境

两个项目开发下来,因团队环境不一样,整合修bug成为了一件苦差事。虽然后来搭建了一台测试服务器,但是有时候受网络原因,还是不能连接到测试服务器上。因团队成员能力和习惯都不一样,有的...

cjp路人 ⋅ 2014/08/24 ⋅ 0

自动化的高效团队开发环境

来源:陈天的博客 1. 引子 这两天无意翻到几个月前的Evernote笔记,看到了当时对团队开发环境的一些想法。可惜后来种种,这一想法未能得到实践,只能将其完善后公诸于众,立此存照,日后有空...

⋅ 2013/04/28 ⋅ 0

使用 VirtualBox 创建 Vagrant Boxes 的完全指南

Vagrant 是一个用来创建和管理虚拟机环境的工具,常用于建设开发环境。 它在 Docker、VirtualBox、Hyper-V、Vmware、AWS 等技术的基础上构建了一个易于使用且易于复制、重建的环境。 Vagran...

作者: Shusain ⋅ 2017/12/15 ⋅ 0

Vagrant使用小结

Vagrant是干嘛用的?适合在什么情况下使用?这种问题,自行脑补! Vagrant是用Ruby开发的一款工具,原先在windows平台下安装vagrant,还要先安装ruby环境,现在简单多了,直接从官网下载win...

OpenIoT ⋅ 2015/05/30 ⋅ 0

edx 项目初始化安装总结

virtualbox-4.3 去官网下载deb格式(可直接在软件中心安装,卸载使用命令apt-get remove virtualbox-4.3) 2.vagrant(虚拟机文件端口映射到本机的工具) 安装时,去官网直接下载deb vagrantbo...

tavenpy ⋅ 2015/04/17 ⋅ 0

Win7安装Vagrant

前言 原本以为Vagrant安装很容易,没想到整了大半天。网上看到的文章比较旧了,整理一篇新一些的,希望对像我一样遇到问题的人有所帮助。 安装Virtualbox 去VB官方网站下载VirtualBox的Windo...

_Elvis ⋅ 2016/02/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Docker Swarm的前世今生

概述 在我的《Docker Swarm集群初探》一文中,我们实际体验了Docker Swarm容器集群技术的魅力,与《Kubernetes实践录》一文中提到的Kubernetes集群技术相比,Docker Swarm没有Kubernetes显得...

CodeSheep ⋅ 今天 ⋅ 0

骰子游戏代码开源地址

因为阿里云现在服务器已经停用了,所以上面的配置已经失效。 服务端开源地址:https://gitee.com/goalya/chat4.git 客户端开源地址:https://gitee.com/goalya/client4.git 具体运行界面请参考...

算法之名 ⋅ 今天 ⋅ 0

设计模式--装饰者模式

装饰者模式 定义 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。 通用类图 意图 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比...

gaob2001 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部