您的位置:首页 > 编程语言 > PHP开发

ubuntu10.04构建PHP开发环境总结

2010-08-12 16:07 288 查看
1.安装ultraiso

2.更新源

3.安转驱动,加载硬盘

4.系统优化tweak和启动顺序,翻墙

5.安装集成开发环境及环境配置

1.安装ubuntu

用ultraiso制作一个u盘ubuntu启动盘

2.更新ubuntu源

可以在网上搜索ubuntu源列表加到/etc/apt/sources.list中

3.1ubuntu中有自带的系统工具可以更新驱动

3.2自动挂载硬盘

------http://blog.csdn.net/free2011/archive/2010/03/17/5389965.aspx

查看硬盘信息:sudo fdisk -l

编辑fstab

# <file system> <mount point> <type> <options> <dump> <pass>

1、<fie sysytem>。这里用来指定你要挂载的文件系统的设备名称或块信息,也可以是远程的文件系统。做过嵌入式linux开发的朋友都可能知道 mount 192.168.1.56:/home/nfs /mnt/nfs/ -o nolock (可以是其他IP)命令所代表的意义。它的任务是把IP为192.168.1.56的远程主机上的/home/nfs/目录挂载到本机的/mnt/nfs /目录之下。如果要把它写进/etc/fstab文件中,file system这部分应填写为:/192.168.1.56:/home/nfs/。

如果想把本机上的某个设备(device)挂载上来,写法如:/dev/sda1、/dev/hda2或/dev/cdrom,其中,/dev /sda1 表示第一个串口硬盘的第一个分区,也可以是第一个SCSI硬盘的第一个分区,/dev/hda1表示第一个IDE硬盘的第一个分区,/dev/cdrom 表示光驱。

此外,还可以label(卷标)或UUID(Universally Unique Identifier全局唯一标识符)来表示。用label表示之前,先要e2label创建卷标,如:e2label /dir_1 /dir_2,其意思是说用/dir_2来表示/dir_1的名称。然后,再在/etc/fstab下添加:LABEL=/dir_2 /dir_2 <type> <options> <dump> <pass>。重启后,系统就会将/dir_1挂载到/dir_2目录上。对于UUID,可以用vol_id -u /dev/sdax来获取。比如我想挂载第一块硬盘的第一个分区,先用命令vol_id -u /dev/sda11 来取得UUID,比如是:5dc08a62-3472-471b-9ef5-0a91e5e2c126,然后在<file system>这个域上填写: UUID=5dc08a62-3472-471b-9ef5-0a91e5e2c126,即可表示/dev/sda11。Red Hat linux 一般会使用label,而Ubuntu linux 一般会用UUID。

2、<mount point>。挂载点,也就是自己找一个或创建一个dir(目录),然后把文件系统<fie sysytem>挂到这个目录上,然后就可以从这个目录中访问要挂载文件系统。对于swap分区,这个域应该填写:none,表示没有挂载点。

3、<type>。这里用来指定文件系统的类型。下面的文件系统都是目前Linux所能支持的:adfs、befs、cifs、ext3、 ext2、ext、iso9660、kafs、minix、msdos、vfat、umsdos、proc、reiserfs、swap、 squashfs、nfs、hpfs、ncpfs、ntfs、affs、ufs。 auto表示文件系统的类型将被自动检测。

4、<options>。这里用来填写设置选项,各个选项用逗号隔开。但在这里有个非常重要的关键字需要了解一下:defaults,它代表包含了选项rw,suid,dev,exec,auto,nouser和 async。

各项详解

auto 和 noauto: 这是控制设备是否自动挂载的选项。auto是默认选择的选项,这样,设备会在启动或者你使用mount -a命令时按照fstab的内容自动挂载。如果你不希望这样,就使用noauto选项,如果这样的话,你就只能明确地通过手工来挂载设备。

  user 和 nouser:这是一个非常有用的选项,user选项允许普通用户也能挂载设备,而nouser则只允许root用户挂载。nouser是默认选项,这也 是让很多 Linux新手头疼的东西,因为他们发现没有办法正常挂载光驱,Windows分区等。如果你作为普通身份用户遇到类似问题,或者别的其他问题,就请把 user属性增加到fstab中。

  exec 和 noexec: exec允许你执行对应分区中的可执行二进制程序,同理,noexec的作用刚好相反。如果你拥有一个分区,分区上有一些可执行程序,而恰好你又不愿意, 或者不能在你的系统中执行他们,就可以使用noexec属性。这种情况多发生于挂载Windows分区时。exec是默认选项,理由很简单,如果 noexec变成了你/根分区的默认选项的话……

  ro: 以只读来挂载文件系统。 54ne.com

  rw: 以可读可写的属性来挂载系统。

中国网管联盟www、bitsCN、com

  sync 和 async:对于该文件系统的输入输出应该以什么方式完成。sync的意思就是同步完成,通俗点讲,就是当你拷贝一个东西到设备或者分区中时,所有的写入 变化将在你输入cp命令后立即生效,这个东西应该立马就开始往设备或者分区里面拷贝了。而如果是async,也就是输入输出异步完成的话,当你拷贝一个东 西到设备或者分区中时,可能在你敲击cp命令后很久,实际的写入操作才会执行,换句话说,就是进行了缓冲处理。

5、<dump>。此处为1的话,表示要将整个<fie sysytem>里的内容备份;为0的话,表示不备份。现在很少用到dump这个工具,在这里一般选0。

6、<pass>。这里用来指定如何使用fsck来检查硬盘。如果这里填0,则不检查;挂载点为 / 的(即根分区),必须在这里填写1,其他的都不能填写1。如果有分区填写大于1的话,则在检查完根分区后,接着按填写的数字从小到大依次检查下去。同数字 的同时检查。比如第一和第二个分区填写2,第三和第四个分区填写3,则系统在检查完根分区后,接着同时检查第一和第二个分区,然后再同时检查第三和第四个 分区。

4.1用sudo apt-get install tweak命令来安装tweak

4.2 引导顺序-

-----http://www.ubuntuhome.com/ubuntu10-04-grub.html

当安装了Windows之后,然后再安装Ubuntu,开机后,grub多重启动默认进入的是Ubuntu,如果经常使用的主操作系统是Ubuntu那也罢了,但是如果主操作系统是Windows,那显然不是很方便了

在Ubuntu10.04下修改grub的引导顺序的方法如下:

sudo gedit /boot/grub/grub.cfg

set default=”0″ 修改成 set default=”4″

default=”0″后面的数值0是第一个选择项,如果分别改成1、2、3、4的话,则分别把默认启动的选择项放在第二、三、四、五个选择项上面

找到timeout=”10″后面的数值10则表示选择引导条的默认倒计时为10秒,当然,这个数值可以改得更大,比如20、30什么的,不过如果把数值改成负1,即“-1”的话,在开机看到grub选择项时没有倒计时,直到选择了所要启动的引导条并回车才能进入系统

修改保存,重启就可以了。

在早期的一些Ubuntu版本下,修改grub的引导顺序的方法如下:

配置文件不在grub.cfg,而是在menu.lst中

修改的方法基本同理,主要是修改default和timeout这两项,其他的可以自己的喜好做一些定制

5.1PHP集成开发环境的安装

在ubuntu的软件包管理器-编辑-使用任务分组标记软件包中安装LAMP,还要安装phpmyadmin

5.2PHP集成开发环境的配置-

------http://www.guanwei.org/post/LINUXnotes/01/ubuntuapache2configure.html

在Windows下,Apache的配置文件通常只有一个,就是httpd.conf。但我在Ubuntu Linux上用apt-get install apache2命令安装了Apache2后,竟然发现它的httpd.conf(位于/etc/apache2目录)是空的!进而发现Ubuntu的 Apache软件包的配置文件并不像Windows的那样简单,它把各个设置项分在了不同的配置文件中,看起来复杂,但仔细想想设计得确实很合理。

严格地说,Ubuntu的Apache(或者应该说Linux下的Apache?我不清楚其他发行版的apache软件包)的配置文件是 /etc/apache2/apache2.conf,Apache在启动时会自动读取这个文件的配置信息。而其他的一些配置文件,如 httpd.conf等,则是通过Include指令包含进来。在apache2.conf中可以找到这些Include行:

# Include module configuration:

Include /etc/apache2/mods-enabled/*.load

Include /etc/apache2/mods-enabled/*.conf

# Include all the user configurations:

Include /etc/apache2/httpd.conf

# Include ports listing

Include /etc/apache2/ports.conf

……

# Include generic snippets of statements

Include /etc/apache2/conf.d/

# Include the virtual host configurations:

Include /etc/apache2/sites-enabled/

结合注释,可以很清楚地看出每个配置文件的大体作用。当然,你完全可以把所有的设置放在apache2.conf或者httpd.conf或者任何一个配置文件中。Apache2的这种划分只是一种比较好的习惯。

安装完Apache后的最重要的一件事就是要知道Web文档根目录在什么地方,对于Ubuntu而言,默认的是/var/www。怎么知道的呢? apache2.conf里并没有DocumentRoot项,httpd.conf又是空的,因此肯定在其他的文件中。经过搜索,发现在 /etc/apache2/sites-enabled/000-default中,里面有这样的内容:

NameVirtualHost *

<VirtualHost *>

ServerAdmin webmaster@localhost

DocumentRoot /var/www/

……

这是设置虚拟主机的,对我来说没什么意义。所以我就把apache2.conf里的Include /etc/apache2/sites-enabled/一行注释掉了,并且在httpd.conf里设置DocumentRoot为我的用户目录下的某 个目录,这样方便开发。

再看看/etc/apache2目录下的东西。刚才在apache2.conf里发现了sites- enabled目录,而在 /etc/apache2下还有一个sites-available目录,这里面是放什么的呢?其实,这里面才是真正的配置文件,而sites- enabled目录存放的只是一些指向这里的文件的符号链接,你可以用ls /etc/apache2/sites-enabled/来证实一下。所以,如果apache上配置了多个虚拟主机,每个虚拟主机的配置文件都放在 sites-available下,那么对于虚拟主机的停用、启用就非常方便了:当在sites-enabled下建立一个指向某个虚拟主机配置文件的链 接时,就启用了它;如果要关闭某个虚拟主机的话,只需删除相应的链接即可,根本不用去改配置文件。

======================================================

mods- available、mods-enabled和上面说的sites-available、sites-enabled类似,这两个目录 是存放apache功能模块的配置文件和链接的。当我用apt-get install php5安装了PHP模块后,在这两个目录里就有了php5.load、php5.conf和指向这两个文件的链接。这种目录结果对于启用、停用某个 Apache模块是非常方便的。

最后一个要说的是ports.conf,这里面设置了Apache使用的端口。如果需要调整默认的端口设置,建议编辑这个文件。或者你嫌它实在多 余,也可以先把apache2.conf中的Include /etc/apache2/ports.conf一行去掉,在httpd.conf里设置Apache端口。

ubuntu里缺省安装的目录结构很有一点不同。在ubuntu中module和 virtual host的配置都有两个目录,一个是available,一个是enabled,available目录是存放有效的内容,但不起作用,只有用ln 连到enabled过去才可以起作用。对调试使用都很方便,但是如果事先不知道,找起来也有点麻烦。

/etc/apache2/sites-available 里放的是VH的配置,但不起作用,要把文件link到 sites-enabled 目录里才行。

NameVirtualHost

<VirtualHost *>

ServerName 域名

DocumentRoot 把rails项目里的public当根目录

<Directory public根目录>

Options ExecCGI FollowSymLinks

AllowOverride all

allow from all

Order allow,deny

</Directory>

ErrorLog /var/log/apache2/error-域名.log

</VirtualHost>

====================================================

什么是 Virtual Hosting(虚拟主机)?

简单说就是同一台服务器可以同时处理超过一个域名(domain)。假设www.example1.net和 www.example2.net两个域名都指向同一服务器,WEB服务器又支持Virtual Hosting,那么www.example1.net和www.example2.net可以访问到同一服务器上不同的WEB空间(网站文件存放目 录)。

配置格式

在Apache2中,有效的站点信息都存放在/etc/apache2/sites-available/用户名(文件) 里面。 我们可以添加格式如下的信息来增加一个有效的虚拟空间:

<VirtualHost *>

# 在ServerName后加上你的网站名称

ServerName www.linyupark.com

# 如果你想多个网站名称都取得相同的网站,可以加在ServerAlias后加上其他网站别名。

# 别名间以空格隔开。

ServerAlias ftp.linyupark.com mail.linyupark.com

# 在ServerAdmin后加上网站管理员的电邮地址,方便别人有问题是可以联络网站管理员。

ServerAdmin webmaster@linyupark.com

# 在DocumentRoot后加上存放网站内容的目录路径(用户的个人目录)

DocumentRoot /home/linyupark/public_html

<Directory /home/linyupark/public_html>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory "/usr/lib/cgi-bin">

AllowOverride None

Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Allow from all

</Directory>

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

</VirtualHost>

如果你的服务器有多个IP,而不同的IP又有着不一样的虚拟用户的话,可以修改成:

<VirtualHost IP地址[:端口]>

...

</VirtualHost>

启用配置

前面我们配置好的内容只是“有效”虚拟主机,真正发挥效果的话得放到 /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

查看效果

主要的设置工作已经完成了,还算简单吧 ^_^。怎么看效果呢?

也简单,只要把主机上(俺用的是XP)里的Host表改改就行了。地址是:

WINDOWS/system32/drivers/etc

打开后加上一句:

192.168.1.22 www.linyupark.com

效果就是浏览器上输入www.linyupark.com就直接会去找IP 192.168.1.22 服务器收到请求,查看有没有符合的虚拟主机域名,有的话就把相应目录下的WEB文件呈现给请求用户

----------------------------------------------------------------------------------------------------------------

一个网卡绑定多个IP,然后设置多个虚拟主机


----------------------------------------------------------------------------------------------------------------

修改/etc/network/interfaces

auto eth0:1

iface eth0:1 inet static

address 192.168.10.37

netmask 255.255.255.0

network 192.168.10.1

broadcast 192.168.10.255
http://blog.chinaunix.net/u/5948/showart_454495.html
在设置虚拟主机,即可在apache中设置多个虚拟主机

不过要重启网卡:sudo /etc/init.d/networking restart

-------------------------------------------------------------------------------

翻墙

-------------------------------------------------------------------------------

<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->

参考:http://hi.baidu.com/%CE%B0%CE%B0%D0%A1%CE%D1/blog/item/0802884e0776a43bafc3ab98.html

注册网址:http://www.cjb.net/cgi-bin/shell.cgi?action=signup

一、需要一个远程主机的登录帐号,点击这里去免费注册一个帐号就行了,这个网站注册很简单,我自己用着感觉速度还是挺快到。收到回复邮件后,按照提示激活帐号,然后便会收到第二封邮件,告诉你服务器名称、帐号、密码,如下所示:

Hostname:
shell.cjb.net

Username:
************

Password:
************

二、安装一个firefox
插件——AutoProxy
,这个插件能帮你自动判断,哪些网站需要翻墙,哪些网站不需要。安装插件后,会提示你订阅gfw
的列表,这张列表中记录了被墙的网站地址。

接着设置这个软件,在firefox
的状态栏里面,有个写着“福”字到图标,点击便进入了设置,在“代理服务器”菜单项中点击“选择代理服务器”一项:
默认的主代理为Tor
,改成ssh
-D
就行了:

三、修改firefox
的代理DNS
设置,再浏览器地址一栏输入about:config,
然后会出现

选择“我保证会小心”,然后在过滤器里面输入

network.proxy.socks_remote_dns
,如下图所示:

接着,双击下面出现的那一项,你会发现,它到值已经变为true
了:

这样,firefox
的设置就完成了。

四、登录远程服务器:

sudo
ssh -qTfnN -D 7070

用户名@shell.cjb.net

然后输入yes:

再接着输入你的密码,就行了。下面,来看看墙外的世界:

---------------------------------------------------------------------------------------------

关闭触摸板

---------------------------------------------------------------------------------------------

sudo modprobe psmouse 开启触摸板
sudo modprobe -r psmouse 关闭触摸板

sudo apt-get install swfdec-gnome 添加swf播放

-------------------------------------------------------------------------------------------------


解决pdf中文乱码问题



-------------------------------------------------------------------------------------------------


sudo apt-get install xpdf-chinese-simplified

sudo apt-get install xpdf-chinese-traditional

sudo apt-get install poppler-data

sudo rm /etc/fonts/conf.d/49-sansserif.conf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: