2 ) LAMP 安装
apt-get install mysql-server mysql-client apache2 php5 libapache2-mod-php5 php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
选择 LAMP 模式安装,这样Ubuntu装完后(Linux,Apache2,MySQL和PHP5也就同时完成了)
详细的安装过程可以前往 Ubuntu官方帮助 进行参考
3 ) 网络配置
在安装Ubuntu的时候会先出现检测DHCP的对话框,一般情况是失败的(fail),然后就会提示你是否要进行手动配置。虚拟机默认情况是和实体机以bridged方式来进行物理网卡共用的,只是本地测试的话,可以不进行配置。本人是单位里通过路由上网,网关是192.168.1.1。所以给Ubuntu分配了和别的机器(也包括自己实体机器)不同的IP段(192.168.1.22),子网掩码为255.255.255.0。DNS地址和网关都为路由的192.168.1.1 安装完之后也就可以直接上网更新了。
虚拟机与本地机器互相PING通
最好是将虚拟机和本地机的IP区分开来(不要都是127.0.0.1),Ubuntu可以在etc/network/interface里进行配置上的修改,第一块网卡一般名称为eth0,下面这个是本人Ubuntu上的interface内容:
auto eth0 iface
eth0 inet static
address 192.168.1.22
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.1
auto eth0,意思是让Linux启动的时候能自动加载这个网卡配置
下面的依次为一些配置信息
如果不是拨号上网的(DNS是固定的),那么还得在etc下的resolv.conf里加入
nameserver 192.168.1.1(DNS服务器的地址)
4 ) Apache2 让每位Linux里的用户拥有独立的WEB服务
当两机能够互相PING通,那么直接在实体机上输入http://192.168.1.22/就可以直接显示出这样的效果:
默认这个页面是放在 var/www 下面的。你可以在里面加个index.html看看
现在我们要让Ubuntu里的用户(刚装好的时候只有root和安装时候设置的用户这两个)拥有独立的WEB空间,
(eg.输入http://192.168.1.22/~用户名/ ,这样就会显示出/home/用户名/public_html下的内容)
本人安装的Ubuntu用户名为linyupark,显示的效果就是:
其实方法并不难,先找到etc/apache2/ 里的apache2.conf文件
用sudo nano apache2.conf 命令来编辑它,找到
#UserDir public_html
#UserDir disabled root
#
# AllowOverride FileInfo AuthConfig Limit
# Options Indexes SymLinksIfOwnerMatch IncludesNoExec
#
把上面的#符号去掉,按下ctrl+o再回车就可以保存了。如果不想用public_html作为文件夹的话可以换成别的名字。
好了,现在可以让apache重启一下让这个设置生效了
$cd /etc/init.d/$sudo apache2 -k restart然后可以回到自己的老窝去编辑页面文件了 ^_^
$cd$mkdir public_html$cd public_html$nano index.html然后就网里面写一些字,做下测试么。不过我们似乎忘记给这个文件加浏览的权限了
$cd$cd ..$chmod 771 linyupark这个771么就是1+2+4,1+2+4,1(前两个7就表示用户和组都有读写以及执行权限,后面那个1就代表其他用户可以有执行的权限)
完成了这步,我们的任务就完成了,至于怎么让Apache能够支持多个虚拟站点,请看下一页。
前面讲了如何让linux上的每个用户(除root)拥有自己独立的web空间,但地址必须是类似http://服务器地址/~用户名/的形式。
现在让我们来改进一下,为不同用户建立不同的域名,在地址中输入域名便直接显示他们的web内容
了解实现的原理
什么是 Virtual Hosting(虚拟主机)?
简单说就是同一台服务器可以同时处理超过一个域名(domain)。假设www.linuxidc.com和 www.12.net两个域名都指向同一服务器,WEB服务器又支持Virtual Hosting,那么www.linuxidc.com和www.12.net可以访问到同一服务器上不同的WEB空间(网站文件存放目 录)。
配置格式
在Apache2中,有效的站点信息都存放在/etc/apache2/sites-available/用户名(文件) 里面。 我们可以添加格式如下的信息来增加一个有效的虚拟空间:
# 在ServerName后加上你的网站名称
ServerName www.codesky.net
# 如果你想多个网站名称都取得相同的网站,可以加在ServerAlias后加上其他网站别名。
# 别名间以空格隔开。
ServerAlias ftp.linuxidc.com mail.linyupark.com
# 在ServerAdmin后加上网站管理员的电邮地址,方便别人有问题是可以联络网站管理员。
ServerAdmin webmaster@linuxidc.com
# 在DocumentRoot后加上存放网站内容的目录路径(用户的个人目录)
DocumentRoot /home/linyupark/public_html
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Allow from all
ErrorLog /home/linyupark/public_html/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /home/linyupark/public_html/access.log
combined
ServerSignature On
如果你的服务器有多个IP,而不同的IP又有着不一样的虚拟用户的话,可以修改成:
...
启用配置
前面我们配置好的内容只是“有效”虚拟主机,真正发挥效果的话得放到 /etc/apache2/sites-enabled 文件夹下面。我们可以使用ln命令来建立一对关联文件:
sudo ln -s /etc/apache2/sites-available/linyupark /etc/apache2/sites-enabled/linyupark
检查语法,重启web服务
谨慎起见,我们在重启服务前先检查下语法:
sudo apache2ctl configtest没有错误的话,再重启Apache
sudo /etc/init.d/apache2 -k restart
查看效果
主要的设置工作已经完成了,还算简单吧 ^_^。怎么看效果呢?