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 查看效果 主要的设置工作已经完成了,还算简单吧 ^_^。怎么看效果呢?