四季无望

只是忧伤。。。。。。

 

在Ubuntu 7.10上搭建LAMP和ralis2.0.2开发环境

在ubuntu 7.10上安装LAMP很简单,这里只是做一个记录,以备重装系统时需要。

第一步:配置网络
因为ubuntu默认安装是通过DHCP进行的,IP地址是动态的,但服务器需要一个静态IP地址,所以这里需要修改。当然,如果安装LAMP的目的只是为了在自己机器上玩玩儿,可以忽略这一步:
sudo vi /etc/network/interfaces

修改interfaces之前,需要用ifconfig命令查看一下自己机器现在的IP地址,netmask应该都是255.255.255.0,我的路由器上的network是192.168.18.0,所以broadcast就是192.168.18.255,gateway就是192.168.18.1。除了IP地址,其他参数都可以在路由器的配置文件中看到。这样,interfaces的配置就修改为:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 
192.168.18.100
        netmask 
255.255.255.0
        network 
192.168.18.0
        broadcast 
192.168.18.255
        gateway 
192.168.18.1

接着,重新启动网络:
sudo /etc/init.d/networking restart

最后,要修改主机名,把域名作为主机名,通过域名就可以访问你的主机了,比如我的就是www.maomao.com,呵呵:
sudo vi /etc/hosts

把内容修改为:
127.0.0.1       localhost.localdomain   localhost
192.168.18.100   www.maomao.com

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00
::0 ip6-localnet
ff00
::0 ip6-mcastprefix
ff02
::1 ip6-allnodes
ff02
::2 ip6-allrouters
ff02
::3 ip6-allhosts

现在,执行:
sudo echo www.maomao.com > /etc/hostname
sudo /etc/init.d/hostname.sh start

这样,主机名就修改好了,查看一下结果:
sudo hostname
sudo hostname 
-f

上面这两条命令得到的结果应该都是www.maomao.com,否则看看那一步有问题。


第二步,安装一些开发必备的软件:

sudo apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl
libdb4
.3-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev
autoconf automake1
.9 libtool bison autotools-dev g++ build-essential

再把Quota安装好,主要用来监视磁盘使用状况的,这是可选择的:
sudo apt-get install quota

编辑/etc/fstab配置,主要是添加usrquota,grpquota到/(mount)点上去:
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>

proc            /proc           proc    defaults        0       0
# /dev/sda1
UUID=9fc157ff-975c-4f20-9fef-6a70085abdbd /               ext3    defaults,errors=remount-ro,usrquota,
grpquota 
0       1
# /dev/sda5
UUID=48fb7dd8-f099-4d63-ac1b-30e886ac7436 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec 0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec 0       0

接着就是启动Quota:
sudo touch /quota.user /quota.group
sudo chmod 600 /quota.*
sudo mount 
-o remount /

sudo quotacheck -avugm
sudo quotaon 
-avug


第三步,安装MySQL

sudo apt-get install mysql-server mysql-client libmysqlclient15-dev

结束的时候会要求你输入root密码,注意这里不是ubuntu的root密码,是MySQL的root密码,随便了,但是它只会要你输入一次,所以不要搞错了,免得以后又要修改:
New password for the MySQL "root" user: <-- 我的MySQL密码

然后是修改MySQL的配置文件,让它监视所有端口,而不只是localhost的,这一步是可选的,如果只是玩玩儿的话:
sudo vi /etc/mysql/my.cnf

找到
bind-address = 127.0.0.1,把它注释掉:
[]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1
#

[]

重启MySQL:
sudo /etc/init.d/mysql restart

看看它是否生效了:
sudo netstat -tap | grep mysql

输出应该类似如下:
maomao@www:~# netstat -tap | grep mysql
tcp        0      0 *:mysql                 *:*                     LISTEN     5286/mysqld
maomao
@www:~#

第四步:安装Apache2和PHP5

sudo apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert

sudo apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear
php5
-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell
php5
-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

这一步会询问
Continue installing libc-client without Maildir support?,点击forward就可以了。

然后要编辑
/etc/apache2/mods-available/dir.conf文件,把修改一下index的默认类型:
<IfModule mod_dir.c>

     
#DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
      DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

</IfModule>

现在,启动一些Apache2的模块,很有用的:
sudo a2enmod ssl
sudo a2enmod rewrite
sudo a2enmod suexec
sudo a2enmod include

最后要重启Apache2:
sduo /etc/init.d/apache2 force-reload

第五步:建立一个Apache2的虚拟HOST:

这个不用说了,用处大了,即使你是玩玩儿。这样至少不用把所有PHP文件放到/var/www下面才能使用,你可以放到自己家目录下或者任何方便维护的地方。

我们要在/etc/apache2/sites-available下新建一个文件,比如这里是maomao.com.conf,内容如下:
<VirtualHost www.maomao.com>
ServerAdmin info
@localhost
#我们这里要使用www.maomao.com和local.maomao.com这两个域名
ServerAlias local.maomao.com
DocumentRoot 
/home/maomao/public_html
#if using awstats
ScriptAlias /awstats/ /usr/lib/cgi-bin/
#指定log文件的位置
CustomLog /var/log/apache2/maomao.com-access.log combined
</VirtualHost>

然后,
切换到/etc/apache2/sites-enabled/目录下,在这里建立一个链接:
sudo ln -/etc/apache2/sites-available/maomao.com.conf maomao.com.conf

再到/etc/hosts里添加local.maomao.com:
127.0.0.1    localhost.localdomain    localhost
127.0.1.1    ubuntu.localhost    ubuntu
192.168.18.6 www.maomao.com local.maomao.com

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00
::0 ip6-localnet
ff00
::0 ip6-mcastprefix
ff02
::1 ip6-allnodes
ff02
::2 ip6-allrouters
ff02
::3 ip6-allhosts

OK,重启Apache2:
sudo /etc/init.d/apache2 reload

/home/maomao/public_html下建立一个phpinfo.php文件,内容为:
<?php
phpinfo();
?>

然后,打开firefox,输入:http://local.maomao.com/phpinfo.php,看看是否正常工作。

至此,LAMP就搞定了。下面是配置rails的开发环境。

第六步:建立rails开发环境

现在的rails的版本是2.0.2,使用SQLite作为默认数据库,而且似乎不启动数据库就搞不定一个基本的HelloWorld,改动实在太。。。,唉,接着来:

基本步骤是安装Ruby、SQLite、gem、rails和mongrel:

安装Ruby
sudo apt-get install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8 libreadline-ruby1.8 libruby1.8 libopenssl-ruby

然后建立链接:
sudo ln -/usr/bin/ruby1.8 /usr/local/bin/ruby
sudo ln 
-/usr/bin/ri1.8 /usr/local/bin/ri
sudo ln 
-/usr/bin/rdoc1.8 /usr/local/bin/rdoc
sudo ln 
-/usr/bin/irb1.8 /usr/local/bin/irb

查看是否正常安装:
ruby -v

安装
rubygems

可以用apt安装,但是版本是0.9.4的,还要升级,很麻烦,不如直接下载安装:
mkdir ~/sources
cd 
~/sources

wget http
://rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz

tar xzvf rubygems
-1.0.1.tgz
cd  rubygems
-1.0.1

sudo ruby setup
.rb

sudo ln 
-/usr/bin/gem1.8 /usr/bin/gem

看看版本:
gem -v

无论什么时候,要升级,输入:
sudo gem update
sudo gem update 
--system

安装SQLite:
sudo apt-get install sqlite3 libsqlite3-0 libsqlite3-dev

安装MySQL的ruby支持:
sudo apt-get install  libmysql-ruby1.8

安装rake:
sudo gem install rake

安装rails:
sudo gem install rails --source http://gems.rubyonrails.org/

安装mongrel:
sudo gem install mongrel

让rails可以访问SQLite:
sudo gem install sqlite3-ruby

让rails可以访问MySQL:
sudo gem install mysql

安装imagemagick:
sudo aptitude install imagemagick librmagick-ruby1.8 librmagick-ruby-doc libfreetype6-dev xml-core

检查一下是否正确:
irb
#irb(main):
001:0>
require 
'RMagick'
#
=> true
#irb(main):
002:0>
require 
'mysql'
#
=> true
#irb(main):
003:0>
exit

最后,安装
postfix和subversion

sudo aptitude install postfix subversion

OK,目前足够了,下面就是建立一个简单的测试app,看看一切是否正常:

首先,家目录下建立一个新目录rails,在这个目录里打开控制台,输入:
rails -d mysql demo

这里,目的是建立一个名为demo的应用程序,但是rails 2.0.2默认的数据库是SQLite,所以要加-d mysql参数,如果使用的是SQLite,则无需这么做。

然后,进入demo目录,输入:
ruby script/generate controller App

打开app/controllers/app_controller.rb文件,内容为:
class AppController < ApplicationController
end

修改成:
class AppController < ApplicationController
    def greeting
    end
end

接着,在app/views/app中新建一个文件greeting.rhtml,内容是:
<html>
  
<head>
    
<title>Ruby on Rails</title>
  
</head>
  
<body>
    
<h1>maomao,你吃了没有!</h1>
  
</body>
</html>

启动phpmyadmin建立一个新的数据库,名字是demo,用户名是maomao,密码maomao,然后修改demo/config目录下的database.yml,只需修改development部分就可以了:
development:
    adapter: mysql
    encoding: utf8
    database: demo
    username: maomao
    password: maomao
    socket: /var/run/mysqld/mysqld.sock

最后,在demo目录下启动mongrel服务器:
ruby script/server

在firefox中输入地址:http://localhost:3000/app/greeting,如果看见“maomao,你吃了没有!”,那就搞定了。

posted on 2008-03-01 19:27 四季无望 阅读(2107) 评论(2)  编辑 收藏 引用 网摘 所属分类: Learning PHPLearning SQL

评论

# re: 在Ubuntu 7.10上搭建LAMP和ralis2.0.2开发环境[未登录] 2008-03-31 09:44 Meteor

呵呵,最后一句话最好玩   回复  更多评论   

# re: 在Ubuntu 7.10上搭建LAMP和ralis2.0.2开发环境 2008-05-15 21:31 网上买书

建立一个Apache2的虚拟HOST,很有价值  回复  更多评论   

导航

统计

留言簿(1)

随笔分类

随笔档案

文章分类

搜索

最新评论

阅读排行榜

评论排行榜