2008年10月2日星期四

ouxunsi视频网站搭建

1. 确认登录服务器没有问题。[ok 20080909]
1.1 服务器上已经存在的服务分析
----------------------------------------
# netstat -an | grep -e "LISTEN"
tcp 0 0 0.0.0.0:905 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN <-- mysql服务
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN <-- ftp服务
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN
tcp 0 0 :::8009 :::* LISTEN
tcp 0 0 :::80 :::* LISTEN <-- http服务
tcp 0 0 :::6000 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN <-- ssh服务
unix 2 [ ACC ] STREAM LISTENING 8533 /var/run/xdmctl/dmctl/socket
unix 2 [ ACC ] STREAM LISTENING 8565 /var/run/xdmctl/dmctl-:0/socket
unix 2 [ ACC ] STREAM LISTENING 7071 /tmp/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 6575 /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 6505 /tmp/.font-unix/fs7100
unix 2 [ ACC ] STREAM LISTENING 8560 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 6367 /dev/gpmctl
unix 2 [ ACC ] STREAM LISTENING 6059 /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 6452 /var/run/iiim/.iiimp-unix/9010

----------------------------------------
1.2 已经存在的相关应用分析
java version "1.5.0_07" 安装位置 /usr/java/jdk1.5.0_07
apache-tomcat-6.0.10 安装位置 /usr/apache-tomcat-6.0.10
mysql Ver 14.12 Distrib 5.0.45 安装位置 /usr/mysql-5.0.45-linux-i686
gcc version 3.4.6 20060404 (Red Hat 3.4.6-9)
----------------------------------------
# ps -ef | grep -e "java"
root 4254 1 0 Jul29 ? 12:17:31 /usr/java/jdk1.5.0_07/bin/java -
Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.log
ging.config.file=/usr/apache-tomcat-6.0.10/conf/logging.properties -server -XX:P
ermSize=64M -XX:MaxPermSize=128M -Djava.endorsed.dirs=/usr/apache-tomcat-6.0.10/
endorsed -classpath :/usr/apache-tomcat-6.0.10/bin/bootstrap.jar:/usr/apache-tom
cat-6.0.10/bin/commons-logging-api.jar -Dcatalina.base=/usr/apache-tomcat-6.0.10
-Dcatalina.home=/usr/apache-tomcat-6.0.10 -Djava.io.tmpdir=/usr/apache-tomcat-6
.0.10/temp org.apache.catalina.startup.Bootstrap start

# gcc -v
Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.6/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/u
sr/share/info --enable-shared --enable-threads=posix --disable-checking --with-s
ystem-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-aw
t=gtk --host=x86_64-redhat-linux
Thread model: posix
gcc version 3.4.6 20060404 (Red Hat 3.4.6-9)

# java -version
java version "1.5.0_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03)
Java HotSpot(TM) Client VM (build 1.5.0_07-b03, mixed mode)

# /usr/mysql-5.0.45-linux-i686/bin/mysql -V
/usr/mysql-5.0.45-linux-i686/bin/mysql Ver 14.12 Distrib 5.0.45, for pc-linux-g
nu (i686) using readline 5.0
----------------------------------------

2. 安装apache服务器,测试index.html [ok 20081003]
2.0 安装Apache日志截断程序cronolog
wget -c wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
tar -zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure --prefix=/usr/ouxunsi/video/install/cronolog
make
make install

2.1 下载
wget -c http://apache.freelamp.com/httpd/httpd-2.2.9.tar.gz
2.2 解压缩,配置,编译,安装
tar -zxvf httpd-2.2.9.tar.gz
cd httpd-2.2.9
./configure \
--prefix=/usr/ouxunsi/video/install/apache2 \
--enable-so \
--enable-rewrite=static \
--enable-cache \
--enable-file-cache \
--enable-mem-cache \
--enable-disk-cache \
--enable-static-support \
--enable-static-htpasswd \
--enable-static-htdigest \
--enable-static-rotatelogs \
--enable-static-logresolve \
--enable-static-htdbm \
--enable-static-ab \
--enable-static-checkgid \
--disable-cgid \
--disable-cgi
========================================
编译配置说明
./configure //配置源代码树
--prefix=/usr/ouxunsi/video/install/apache2 //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。
--enable-so //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块
--enable-rewrite=static //打开rewrite 功能模块
--enable-mods-shared=all //编译全部的模板,对于不需要我们可以在httpd.conf去掉。这个选项打开可能会需要有更多的依赖库,在这里可以去掉
--enable-cache //支持缓存
--enable-file-cache //支持文件缓存
--enable-mem-cache //支持记忆缓存
--enable-disk-cache //支持磁盘缓存
--enable-static-support //支持静态连接(默认为动态连接)
--enable-static-htpasswd //使用静态连接编译 htpasswd - 管理用于基本认证的用户文件
--enable-static-htdigest //使用静态连接编译 htdigest - 管理用于摘要认证的用户文件
--enable-static-rotatelogs //使用静态连接编译 rotatelogs - 滚动 Apache 日志的管道日志程序
--enable-static-logresolve //使用静态连接编译 logresolve - 解析 Apache 日志中的IP地址为主机名
--enable-static-htdbm //使用静态连接编译 htdbm - 操作 DBM 密码数据库
--enable-static-ab //使用静态连接编译 ab - Apache HTTP 服务器性能测试工具
--enable-static-checkgid //使用静态连接编译 checkgid
--disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本
--disable-cgi //禁止编译 CGI 版本的 PHP
--enable-ssl // 编译 ssl模块。这个选项打开可能需要更多的依赖库,在这里可以去掉
=============================
make
make install
2.3 配置apache2的端口和根目录
cd /usr/ouxunsi/video/install/apache2
cp conf/httpd.conf conf/httpd.conf.20081003
vi conf/httpd.conf
==========================================
Listen 80 --> Listen 8080

DirectoryIndex index.html --> DirectoryIndex index.php index.html

DocumentRoot "/usr/ouxunsi/video/install/apache2/htdocs" --> DocumentRoot "/usr/ouxunsi/video/htdocs"
-->
==========================================

2.4 配置cronolog日志截断程序
vi conf/httpd.conf
==========================================
CustomLog "logs/access_log" common
-->
CustomLog "|/usr/ouxunsi/video/install/cronolog/sbin/cronolog /usr/ouxunsi/v
ideo/install/apache2/logs/access_log.%Y%m%d" combined
==========================================

3. 安装php环境,测试phpinfo.php (应该在安装完 mysql 之后安装)
3.0 需要lib-xml2
wget -c ftp://ftp.pbone.net/mirror/www.startcom.org/AS-4.0.0/updates/x86_64/zlib-devel-1.2.1.2-1.2.x86_64.rpm
wget -c ftp://ftp.pbone.net/mirror/www.startcom.org/AS-4.0.0/os/x86_64/StartCom/RPMS/libxml2-devel-2.6.16-6.x86_64.rpm
rpm -i libxml2-devel-2.6.16-6.x86_64.rpm zlib-devel-1.2.1.2-1.2.x86_64.rpm

3.1 下载
wget -c http://cn.php.net/get/php-5.2.6.tar.gz/from/this/mirror
3.2 解压缩,编译,安装
tar -zxvf php-5.2.6.tar.gz
cd php-5.2.6
ln -sf libjpeg.so.62.0.0 libjpeg.so
ln -sf libpng.so.3.1.2.7 libpng.so

./configure \
--prefix=/usr/ouxunsi/video/install/php5 \
--with-apxs2=/usr/ouxunsi/video/install/apache2/bin/apxs \
--with-mysql=/usr/ouxunsi/video/install/mysql5 \
--disable-debug \
--with-zlib \
--enable-mbstring \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--enable-fastcgi \
--with-config-file-scan-dir=/usr/ouxunsi/video/install/php5/etc/php \
--with-mysqli=/usr/ouxunsi/video/install/mysql5/bin/mysql_config

make
make test
make install

cp php.ini-dist /usr/ouxunsi/video/install/php5/etc/php/php.ini

3.3 整合php和apache2
#make install 会自动修改http.conf 加上 LoadModule php5_module modules/libphp5.so

只需要在最后一行加上:
AddType application/x-httpd-php .php
或者更加安全的:

SetHandler application/x-httpd-php



4. 安装mysql服务器
4.0 需要安装g++ 和 ncurse-devel
wget -c ftp://mirror.switch.ch/pool/3/mirror/centos/4.6/os/x86_64/CentOS/RPMS/gcc-c++-3.4.6-9.x86_64.rpm
wget -c ftp://mirror.switch.ch/pool/3/mirror/centos/4.6/os/x86_64/CentOS/RPMS/libstdc++-devel-3.4.6-9.x86_64.rpm
wget -c ftp://mirror.switch.ch/pool/3/mirror/centos/4.6/os/x86_64/CentOS/RPMS/libstdc++-3.4.6-9.x86_64.rpm

wget -c ftp://ftp.chg.ru/pub/Linux/scientific/41/x86_64/SL/RPMS/ncurses-devel-5.4-13.x86_64.rpm

rpm -i gcc-c++-3.4.6-9.x86_64.rpm libstdc++-devel-3.4.6-9.x86_64.rpm libstdc++-3.4.6-9.x86_64.rpm ncurses-devel-5.4-13.x86_64.rpm

4.1 已经存在了一个mysql5数据库,需要注意修改端口号和相关的目录。不需要重复增加mysql用户帐号了。
wget -c http://mysql.mirror.rafal.ca/Downloads/MySQL-5.0/mysql-5.0.67.tar.gz
cd /usr/ouxunsi/video/download/mysql-5.0.67
mkdir /usr/ouxunsi/video/install/mysql5
mkdir /usr/ouxunsi/video/var/lib/mysql5
./configure \
--prefix=/usr/ouxunsi/video/install/mysql5 \
--localstatedir=/usr/ouxunsi/video/var/lib/mysql5 \
--with-comment=Source \
--with-server-suffix=-Community \
--with-mysqld-user=mysql \
--without-debug \
--with-big-tables \
--with-charset=utf8 \
--with-collation=utf8_unicode_ci \
--with-extra-charsets=all \
--with-pthread \
--enable-static \
--enable-thread-safe-client \
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \
--enable-assembler \
--without-innodb \
--without-ndb-debug

make
make install

cd /usr/ouxunsi/video/install/mysql5
#useradd mysql //添加 mysql 用户,已经存在,所以不用重复添加
./bin/mysql_install_db --user=mysql
chown -R root:mysql .
chown -R mysql /usr/ouxunsi/video/var/lib/mysql5
chgrp -R mysql .

cp share/mysql/my-huge.cnf .
vi my-huge.cnf
==========================================
port: 3306 --> 3307 两个地方
socket: /tmp/mysql.sock --> /tmp/mysqlvideo.sock 两个地方
==========================================

cp share/mysql/mysql.server /etc/rc.d/init.d/mysqlvideo
vi /etc/rc.d/init.d/mysqlvideo
==========================================
datadir=/var/lib/mysql5
conf=/usr/ouxunsi/video/install/mysql5/my-huge.cnf
把"$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &"替换为(双引号中的)
"$bindir/mysqld_safe --defaults-file=/usr/ouxunsi/video/install/mysql5/my-huge.cnf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &"(双引号中的)
==========================================
chmod 755 /etc/rc.d/init.d/mysqlvideo
chkconfig --add mysqlvideo

4.2 启动数据库
/etc/rc.d/init.d/mysqlvideo start
4.3 修改root用户密码
./bin/mysql -u root -S /tmp/mysqlvideo.sock
======================================================
mysql> use mysql
mysql> update user set password=password('video') where user='root';
mysql> FLUSH PRIVILEGES;
======================================================
4.4 停止数据库运行
/etc/rc.d/init.d/mysqlvideo stop

5. 安装svn服务器,是否可以提供密码保护(使用svn+ssh实现)
5.0 需要expat-devel neon等库
wget -c ftp://ftp.pbone.net/mirror/www.startcom.org/AS-4.0.0/os/x86_64/StartCom/RPMS/expat-devel-1.95.7-4.x86_64.rpm
rpm -i expat-devel-1.95.7-4.x86_64.rpm

wget -c ftp://ftp.pbone.net/mirror/www.startcom.org/AS-4.0.0/os/x86_64/StartCom/RPMS/neon-devel-0.24.7-4.x86_64.rpm
wget -c http://ftp.riken.go.jp/Linux/cern/slc41/updates/x86_64/RPMS/openssl-devel-0.9.7a-43.10.x86_64.rpm
wget -c http://ftp.riken.go.jp/Linux/cern/slc41/updates/x86_64/RPMS/krb5-devel-1.3.4-33.x86_64.rpm
wget -c http://ftp.riken.go.jp/Linux/cern/slc41/updates/x86_64/RPMS/e2fsprogs-devel-1.35-12.4.EL4.x86_64.rpm
rpm -i neon-devel-0.24.7-4.x86_64.rpm openssl-devel-0.9.7a-43.10.x86_64.rpm krb5-devel-1.3.4-33.x86_64.rpm e2fsprogs-devel-1.35-12.4.EL4.x86_64.rpm

5.1 下载svn源代码
wget -c http://subversion.tigris.org/downloads/subversion-1.5.2.tar.gz
tar -zxvf subversion-1.5.2.tar.gz
cd subversion-1.5.2
./configure --with-apr=/usr/ouxunsi/video/install/apache2 \
--with-apr-util=/usr/ouxunsi/video/install/apache2 \
--prefix=/usr/ouxunsi/video/install/subversion \
--with-ssl \
--with-neon=/usr

make
make install

5.2 创建代码库
cd /usr/ouxunsi/video/
mkdir svnroot
cd svnroot
svnadmin create .
5.3 增加一个软链接到svnserve 从而可以使用 svn+ssh
ln -s /usr/ouxunsi/video/install/subversion/bin/svnserve /usr/bin/svnserve
svn checkout svn+ssh://root@xxx.xxx.xxx.xxx/usr/ouxunsi/video/svnroot .

6. 安装web ftp服务器
6.1 下载安装
wget -c ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1.tar.gz
tar -zxvf proftpd-1.3.1.tar.gz
cd proftpd-1.3.1
mkdir /usr/ouxunsi/video/install/proftpd
mkdir /usr/ouxunsi/video/install/proftpd/etc
./configure --prefix=/usr/ouxunsi/video/install/proftpd \
--sysconfdir=/usr/ouxunsi/video/install/proftpd/etc
make
make install
6.2 配置proftpd.conf
cd /usr/ouxunsi/video/install/proftpd/etc
cp proftpd.conf proftpd.conf.20081010
vi proftpd.conf
====================================================
Port 21 --> Port 8021
Group nogroup --> Group nobody
注释所有Anonymous部分
在最后增加如下行,定义虚拟用户和目录权限
RequireValidShell off
AuthOrder mod_auth_file.c
AuthUserFile /usr/ouxunsi/video/install/proftpd/etc/passwd
AuthGroupFile /usr/ouxunsi/video/install/proftpd/etc/group

SystemLog /usr/ouxunsi/video/var/proftpd.log



AllowGroup editor


====================================================
cp /usr/ouxunsi/video/download/proftpd-1.3.1/contrib/ftpasswd .
./ftpasswd --passwd --file /usr/ouxunsi/video/install/proftpd/etc/passwd --name=editor01 --uid=2001 --home=/usr/ouxunsi/video/htdocs --shell=/bin/false
./ftpasswd --group --name=editor --gid=2001 --file /usr/ouxunsi/video/install/proftpd/etc/group
./ftpasswd --passwd --file /usr/ouxunsi/video/install/proftpd/etc/passwd --name=ftpupload --uid=2001 --home=/usr/ouxunsi/video/ftpupload --shell=/bin/false

./ftpasswd --passwd --file /usr/ouxunsi/video/install/proftpd/etc/passwd --name=editor01 --uid=99 --gid=99 --home=/usr/ouxunsi/video/htdocs --shell=/bin/false
./ftpasswd --passwd --file /usr/ouxunsi/video/install/proftpd/etc/passwd --name=ftpupload --uid=99 --gid=99 --home=/usr/ouxunsi/video/ftpupload --shell=/bin/false

./ftpasswd --passwd --file /usr/ouxunsi/video/install/proftpd/etc/passwd --name=ftpupload --uid=2 --gid=2 --home=/usr/ouxunsi/video/ftpupload --shell=/bin/false
<-- 因为apache httpd2默认的用户名为daemon,所以需要用同样的,从而避免权限问题。


chown -R nobody:nobody /usr/ouxunsi/video/htdocs
chmod -R 777 /usr/ouxunsi/video/htdocs

6.3 配置启动脚本
cp /usr/ouxunsi/video/download/proftpd-1.3.1/contrib/dist/rpm/proftpd.init.d /usr/ouxunsi/video/install/proftpd
vi /usr/ouxunsi/video/install/proftpd/proftpd.init.d
===========================================
PATH="$PATH:/usr/local/sbin" --> PATH="$PATH:/usr/ouxunsi/video/install/proftpd/sbin"
===========================================

参考文章:
[01] http://www.centoschina.com/read.php?tid-9692.html
centos 5.0 编译安装apache 2.2.6+php5.2.5+mysql5.0.46+Zend笔记
[02] http://www.javaeye.com/topic/203986
Linux下两个不同版本Mysql的安装实战(Mysql5和mysql4)
[03] http://203.208.37.104/search?q=cache:61JaO2KxL5gJ:bbs.dadipedia.com/showthread.php%3Ft%3D24+subversion+%E7%BC%96%E8%AF%91+with-neon+with-ssl&hl=zh-CN&ct=clnk&cd=1&gl=cn&st_usg=ALhdy292DtxQYGhYxFtJKeHaST1h_1KwNA
LAMP, Trac, SQLite3, SubVersion 编译参数

没有评论: