记录入门点滴
Jun 16
目标

1、创建基于 IP 的虚拟主机用于一个项目的整体测试

2、创建基于用户的虚拟主机用于用户测试自己的代码

开始

创建虚拟主机的目录结构

#sudo /home/www

#cd /home/www

#sudo mkdir 192.168.0.251 192.168.0.252

#cd 192.168.0.251

#sudo mkdir cgi-bin htdocs logs db

#cd ../192.168.0.252

#sudo mkdir cgi-bin htdocs logs db

#tree /home/www

/home/www
|-- 192.168.0.251
| |-- cgi-bin
| |-- db
| |-- htdocs
| `-- logs
`-- 192.168.0.252
|-- cgi-bin
|-- db
|-- htdocs
`-- logs

1.
要在 192.168.0.251 和 192.168.0.252 上 创建两个基于 IP 的虚拟主机,为了直观起见,在 /home/www 下分别创建了目录 192.168.0.251 和 192.168.0.252

2.
cgi-bin 子目录用于存放 CGI 脚本

3.
db 子目录用于存放 SQLite 数据库

4.
htdocs 子目录用于存放站点文档

5.
logs 子目录用于存放站点日志

创建虚拟主机的管理帐号并设置目录权限

#sudo useradd -g www-data -d /home/www/192.168.0.251 wuser1

#sudo useradd -g www-data -d /home/www/192.168.0.252 wuser2

#sudo passwd wuser1

#sudo passwd wuser2

#sudo chown -R wuser1.www-data /home/www/192.168.0.251

3sudo chown -R wuser2.www-data /home/www/192.168.0.252

1.
将 192.168.0.251 虚拟主机的管理者赋予 wuser1; 将 192.168.0.252 虚拟主机的管理者赋予 wuser2;允许他们使用 ssh 登录

2.
wuser1 和 wuser2 的主组均设置为 www-data,这样设置的方便之处在于:若站内有 Apache 进程可写的内容,只需添加 组可写 权限即可

配置虚拟网络接口和主机名解析

使用如下命令:

sudo vim /etc/network/interfaces

添加如下的配置

auto eth0:1
iface eth0:1 inet static
address 192.168.0.251
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

auto eth0:2
iface eth0:2 inet static
address 192.168.0.252
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

然后使用如下命令重新启动网络服务

sudo /etc/init.d/networking restart

然后在 /etc/hosts 文件中添加如下的行

192.168.0.251 web1.example.com web1

192.168.0.252 web2.example.com web2

配置 Apache

◆S1. 在 /etc/apache2/sites-available/ 目录下创建新的文件 192.168.0.251,添加如下的配置

/etc/apache2/sites-available/192.168.0.251
DocumentRoot "/home/www/192.168.0.251/htdocs/"
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /home/www/192.168.0.251/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog /home/www/192.168.0.251/logs/error.log
CustomLog /home/www/192.168.0.251/access.log combined

◆S2. 在 /etc/apache2/sites-available/ 目录下创建新的文件 192.168.0.252,添加如下的配置

/etc/apache2/sites-available/192.168.0.252
DocumentRoot "/home/www/192.168.0.252/htdocs/"
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /home/www/192.168.0.252/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog /home/www/192.168.0.252/logs/error.log
CustomLog /home/www/192.168.0.252/access.log combined

◆S3. 重新启动 Apache

#sudo a2enmod rewrite

#sudo a2enmod php5

#sudo a2enmod perl

#sudo a2enmod mod_python

#sudo a2ensite 192.168.0.251

#sudo a2ensite 192.168.0.252

#sudo /etc/init.d/apache2 restart

配置站点内容的上传

FTP 服务器

◆S1: 使用如下命令安装 proftpd

sudo apt-get install proftpd proftpd-doc

◆S2. 使用默认配置即可实现本地用户的上传和下载

Samba 服务器

◆S1. 使用如下命令

sudo vi /etc/samba/smb.conf

添加如下的配置行:

/etc/samba/smb.conf
[homes]
comment = Home Directories
browseable = no
writable = yes
create mask = 0644
directory mask = 0755

◆S2. 配置 Samba 用户通过如下命令添加 Samba 用户

sudo smbpasswd -a wuser1

sudo smbpasswd -a wuser2

◆S3. 启动 Samba 服务器

sudo /etc/init.d/samba restart

创建基于用户的虚拟主机

*

可能开发者在 Windows 客户机没有创建开发环境

*

为了使每个开发者可以测试自己的代码,可以创建基于用户的虚拟主机

创建用户帐号

sudo useradd -g www-data -m user1

sudo useradd -g www-data -m user2

sudo passwd user1

sudo passwd user2

1. 用户需要在宿主目录下创建 public_html 子目录,将 Web 文档放入其中,可以通过 URL http://IPorHostname/~username 访问自己的站点

2. 若进行 CGI 开发,还需要在宿主目录下创建 cgi-bin 子目录

配置 Apache

使用如下命令启用 userdir 模块即可

sudo a2enmod userdir

若进行 CGI 开发,需要修改 /etc/apache2/mods-available/userdir.conf

UserDir public_html

UserDir disabled root

AllowOverride FileInfo AuthConfig Limit

Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

ScriptAliasMatch ~([a-z]+)/cgi-bin/(.*) /home/$1/cgi-bin/$2

# 添加此行,意思是匹配~user_name/cgi-bin/cgi_name自动映射到/home/user_name/cgi-bin/cgi-name脚本

关于默认的虚拟主机

Ubuntu 中文件 /etc/apache2/sites-available/default 配置的是默认的虚拟主机。default 虚拟主机的根文档目录默认设置为 /var/www,为了便于备份,最好将所有的 Web 内容都存放在 /home/www 目录下,为此可以将默认的虚拟主机的根文档目录默认设置为 /home/www 下的某个子目录下。

创建虚拟主机的目录结构

#cd /home/www

#sudo mkdir 192.168.0.222

#cd 192.168.0.222

#sudo mkdir cgi-bin htdocs

创建虚拟主机的管理帐号并设置目录权限

#sudo useradd -g www-data -d /home/www/192.168.0.222 wdefault

#sudo passwd wdefault

#sudo chown -R wdefault.www-data /home/www/192.168.0.222

配置 Apache

◆S1. 在 /etc/apache2/sites-available/ 目录下创建新的文件 192.168.0.222,添加如下的配置

/etc/apache2/sites-available/192.168.0.222
DocumentRoot "/home/www/192.168.0.222/htdocs/"
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

ScriptAlias /cgi-bin/ /home/www/192.168.0.222/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
Options Indexes MultiViews FollowSymLinks

AllowOverride None
Order deny,allow
Deny from all
Allow from 192.168.0.0/255.255.255.0

◆S2. 重新启动 Apache

#sudo a2dissite default

#sudo a2ensite 192.168.0.222

#sudo /etc/init.d/apache2 restart
Jun 8
1.虚拟主机设置
1.1创建目录
>> mkdir -p /usr/local/www/mysite/svn
1.2创建虚拟主机配置文件
>> cd /etc/apache2/sites-available
>> pico -w mysite
输入:

<VirtualHost 192.168.1.106:*>
DOcument /usr/local/www/mysite/svn
ServerName mysite
</VirtualHost>

1.3 添加配置
>>a2ensite mysite
1.4 重要的一步  设置文件访问权限 避免403错误
>>vi default
加入下面几行

<Directory /usr/local/www>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all  
</Directory>  

1.5.在hosts文件里加入
192.168.1.106 mysite

再添加一个虚拟主机:
1.6  vi /etc/apache2/sites-available/tp
输入:

<VirtualHost 127.0.0.1:*>
DOcument /var/www
ServerName tp
</VirtualHost>


1.7 在hosts文件里加入
127.0.0.1 tp

1.9 重启apache2
>>/etc/init.d/apache2 restart

注:如果还出现403错误,将文档访问权限设置为755。

2. SVN设置
2.1 安装svn
apt-get install subversion subversion-tools --fix-missing
apt-get install libapache2-svn

2.2创建一个svn 服务器 版本库
svnadmin create /usr/local/svn/mysvn

2.3从服务器版本库 迁出一个工作副本
cd /root
svn checkout file:///usr/local/svn/mysvn

2.4 向版本库提交原始版本
svn import /root/www file:///usr/local/svn/mysvn

这时候,SVN服务器的版本库已经更新来版本,去工作目录update看看
cd /root/mysvn
svn update
可以看到  2.4中提交的www可以更新下来了。
以后在/root/mysvn 中便可以修改文件并commit了

2.5 设置apache对svn的访问功能
vi /etc/apache2/apache2.conf
往最后面插入:

  DAV svn
  SVNPath /usr/local/svn/mysvn


2.6 重启apache2
/etc/init.d/apache2 restart

ok
输入:mysite/svn/mysvn 看到的是神码?



May 22
1.桥接宿主机 与 vbox网络,并设置网桥ip4 如192.168.18.105
2.vbox虚拟机的网络链接 需要是host-only adapter,并且选中网线链接
3.进入虚拟机系统后设置ip4 如: 192.168.18.106

这样在宿主机就能ping通虚拟机了,只要虚拟机里面有环境配置,在宿主机浏览器输入192.168.18.106就能访问虚拟机里面的网站了

May 22
第一 安装MySQL
这个我们要安装两个
sudo apt-get install mysql-server 提供MySQL服务
sudo apt-get install mysql-client   访问其它MySQL数据库

第二 安装Apache
sudo apt-get install apache2 libapache2-mod-auth-mysql

然后我们可以用 sudo /etc/init.d/apace2 restart 重启apache
然后在浏览器中输入http://localhost看看是否有
“It's Work”,有的话,就说明可以

第三 安装PHP
sudo apt-get install php5 libapache2-mod-php5 php5-cli php5-mysql php5-mcrypt php5-gd php5-mod

第四 配置 php
gedit /etc/php5/apache2/php.ini

在extension下面加上  
extension=php5-mcrypt.so
extension=php5-mysql.so

第五步 配置apache
a2enmod rewrite 开启rewrite功能
gedit /etc/apache2/apache2.conf
添加:
AddType application/x-httpd-php .php .html .htm .phtml

    DirectoryIndex index.htm index.html index.php


另:mysql配置文件 路径 /etc/mysql/my.cnf ,网站默认根目录:/var/www

Jan 26
安装zhcon
sudo apt-get install zhcon
打开.bashrc脚本
vim /home/yourusername/.bashrc
添加一项
alias zhcon='zhcon --utf8 --drv=fb'
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]