`
crazycode
  • 浏览: 153524 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

配置编译server过程记录

阅读更多
以下内容是我上次在suse10上配置服务器过程的记录,放到这里供有需要的同学参考:

目标:支持LDAP的Apache2.2+MySQL5+PHP5+Subversion1.4.2+SVNManage服务器

0、设置环境
为优化编译,需要根据CPU设置编译参数(详见http://gentoo-wiki.com/Safe_Cflags),我的是AMD的CPU。创建文件 /etc/profile.d/cflags.sh 然后重新登录 :
export CHOST="i686-pc-linux-gnu"
export CFLAGS="-march=athlon-xp -msse3 -O2 -pipe -fomit-frame-pointer"
export CXXFLAGS="${CFLAGS}"


1、编译MySQL

rm -Rf /usr/local/mysql # 删除旧版本

./configure --prefix=/usr/local/mysql \
--enable-thread-safe-client \
--without-debug \
--localstatedir=/opt/mysql/data
make //编译
make install //安装
groupadd mysql
useradd -g mysql mysql
/usr/local/mysql/bin/mysql_install_db --user=mysql

chown –R root:root /usr/local/mysql //文件属性改为root用户
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf //复制配置文件
----------------------------------启动MySQL服务----------------------------------
/usr/local/mysql/bin/mysqld_safe --user=mysql & //启动MySQL
----------------------------------修改MySQL密码----------------------------------
/usr/local/mysql/bin/mysqladmin -uroot password mysqlsecret //修改密码
----------------------------------关闭MySQL服务----------------------------------
/usr/local/mysql/bin/mysqladmin -uroot -pmysqlsecret shutdown

#把mysql启动脚本复制到init.d目录
cp /usr/local/mysql/share/mysql.server /etc/init.d


2、编译安装Berkeley DB
为支持subversion的BDB存储方式,需要安装这个软件:
cd db-4.4.20/build_unix
../dist/configure --enable-compat185
make
make install

3、编译Apache2.2:

cd /srv/setup
tar -zxvf httpd-2.2.3.tar.gz
cd httpd-2.2.3

cd srclib/apr
./buildconf
./configure --prefix=/usr/local/apr
make && make install
cd ../apr-util
./buildconf
./configure --prefix=/usr/local/apr --with-apr=/usr/local/apr --with-berkeley-db=/usr/local/BerkeleyDB.4.4
make && make install

./configure --prefix=/usr/local/apache2.2 \
    --with-included-apr \
    --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr \
    --with-berkeley-db=/usr/local/BerkeleyDB.4.4 \
    --enable-so \
    --with-ldap \
    --enable-ldap \
    --enable-authnz-ldap \
    --enable-rewrite \
    --enable-setenvif \
    --enable-mime \
    --enable-ssl \
    --with-ssl=/usr \
    --enable-headers \
    --enable-dav \
    --enable-dav-fs \
    --enable-dav-lock \
    --enable-maintainer-mode \
    --enable-proxy \
    --enable-proxy-http \
    --enable-proxy-balancer
#编译并安装
make
make install
ln -s /usr/local/apache2.2/bin/apachectl /usr/local/bin
ln -s /usr/local/apache2.2/bin/htpasswd /usr/local/bin
ln -s /usr/local/apache2.2/bin/httpd /usr/local/bin
ln -s /usr/local/apache2.2/conf/httpd.conf /etc/httpd.conf
mv /usr/local/apache2.2/htdocs /var/www

打开/etc/httpd.conf,找到User和Group,修改为如下内容
User nobody
Group nobody
执行以下脚本设置目录权限:
chown nobody:nobody /usr/local/apache2.2 -R

可通过以下命名启动apache:
apachectl start

把启动脚本复制到init.d目录
cp /usr/local/apache2.2/bin/apachectl /etc/init.d/httpd

4、编译PHP5.2

./configure --prefix=/usr/local \
--with-config-file-path=/usr/local/apache2.2/conf \
--with-apxs2=/usr/local/apache2.2/bin/apxs \
--with-bz2=/usr \
--enable-ftp \
--enable-sockets \
--disable-ipv6 \
--with-gd=/usr \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-freetype-dir=/usr \
--with-ldap \
--with-ldap-sasl \
--enable-gd-native-ttf \
--enable-mbstring \
--with-gettext \
--with-openssl-dir=/usr \
--with-libxml=/usr \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-mysql-sock=/tmp/mysql.sock \
--enable-sqlite-utf8 \
--with-zlib=/usr \
--with-zlib-dir=/usr \
--enable-zend-multibyte

make
make install
======================================
Wrote PEAR system config file at: /usr/local/etc/pear.conf
You may want to add: /usr/local/lib/php to your php.ini include_path
Installing PDO headers:          /usr/local/include/php/ext/pdo/

cp php.ini-dist /usr/local/apache2.2/conf/php.ini
ln -s /usr/local/apache2.2/conf/php.ini /etc/php.ini

打开/usr/local/apache2.2/conf/httpd.conf,加入
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


5、编译安装SubVersion1.4.4
./configure --with-apxs=/usr/local/apache2.2/bin/apxs \
    --with-apr=/usr/local/apr \
    --with-apr-util=/usr/local/apr \
    --with-berkeley-db=/usr/local/BerkeleyDB.4.4 \
    --with-swig=/usr/local
make && make install
make swig-py && make install-swig-py
ldconfig

注意!! configure时可能会出现以下问题:
An appropriate version of neon could not be found, so libsvn_ra_dav
will not be built.  If you want to build libsvn_ra_dav, please either
install neon 0.25.5 on this system
or
get neon 0.25.5 from:
    http://www.webdav.org/neon/neon-0.25.5.tar.gz
unpack the archive using tar/gunzip and rename the resulting
directory from ./neon-0.25.5/ to ./neon/

6.rails安装
gem install mongrel
gem install mongrel_cluster
mongrel_rails cluster::configure -e production \
    -p 4000 -N 3 -c /srv/rails/pmstudio -a 127.0.0.1 \
    --user nobody --group nobody
   
mongrel_rails cluster::start
mongrel_rails cluster::stop

如果把session配置为activerecord保存,则在/etc/crontab中加入以下代码进行定时清除过期session,下面设置的是一小时过期
/srv/rails/pmstudio/script/runner 'ActiveRecord::Base.connection.delete("DELETE FROM sessions WHERE updated_at < now() - INTERVAL 1 HOUR")'
*/3 * * * * root /srv/rails/pmstudio/script/runner 'ActiveRecord::Base.connection.delete("DELETE FROM sessions WHERE updated_at < now() - INTERVAL 1 HOUR")'
分享到:
评论
2 楼 crazycode 2007-10-08  
好的,已经加了。
1 楼 rainytooo 2007-09-27  
正在用suse尝试安装svn
有些问题想请教
能否加一下msn
fletcherf8f@hotmail.com
十分感谢

相关推荐

    FileZilla server 0.9.62 VS2015 编译

    3. **配置编译选项**:根据需求配置编译器设置,例如,选择正确的目标平台(x86或x64),设置预处理器宏,以及链接器选项等。 4. **编译源代码**:使用VS2015的Build功能来编译源代码,这将生成可执行的FTP服务器...

    nacos-server-1.2.1 最新源码编译版,支持mysql8.0以上 windows支持,Linux支持

    - 编译过程通常包括获取源码、构建环境设置、编译与打包等步骤,这需要开发者具备一定的Java开发和Maven或者Gradle构建工具的使用经验。 4. **配置MySQL连接**: - 在使用Nacos之前,你需要配置数据库连接信息,...

    3DSlicer编译遇到的问题及解决办法

    "3D Slicer编译问题整理汇总_20170429.docx"和"3D Slicer编译问题整理汇总.docx"可能是文档,其中详细记录了作者在编译过程中遇到的具体问题和解决方法,包括但不限于链接错误、找不到特定函数、内存分配错误等。...

    MTK编译和DCT配置

    首次编译后,如果再次编译相同的项目,可省略`&lt;project_name&gt;`参数,因为项目名称会被记录在`makeMtk.ini`文件中。 MTK编译和DCT配置是MTK开发流程中的核心环节,正确配置环境和熟悉编译命令对于提高开发效率至关...

    Redis2.8源码与编译生成文件以及配置文件.rar

    编译过程: 2. Redis的编译通常涉及以下步骤: - 安装依赖:Redis通常需要GCC编译器、Make工具链以及jemalloc或jemalloc-devel(内存分配器)。 - 配置:使用`make`和`make install`命令进行编译和安装。在源码根...

    apache ftpserver Mysql配置

    可以通过配置`ftpserver/conf/logback.xml`来调整日志记录行为,将FTP活动日志存储在Mysql数据库中,以便于分析和审计。 8. **启动与测试** 完成所有配置后,启动Apache FTPServer服务,并使用FTP客户端进行测试...

    使用SQL存储过程发送邮件

    存储过程是SQL Server中一种重要的编程对象,它是由一系列预编译的SQL语句和控制流语句构成的过程。存储过程可以接受参数,并且能够返回结果集或者执行特定的操作。通过使用存储过程,可以提高代码的复用性、增强...

    azkaban-3.84安装包(免编译)

    在Azkaban的官方网站上,通常只提供源码版本,这需要用户自行编译,然而在编译过程中可能会遇到网络问题,导致编译失败。为了解决这个问题,我们有了预编译的 "azkaban-3.84安装包(免编译)",它提供了便捷的二进制...

    全志 Android编译服务器系统安装标准手册

    以上步骤详细地介绍了全志Android编译服务器系统的安装过程,包括Ubuntu Server的安装、JDK环境配置、Android编译环境安装、开发工具配置以及多用户环境的设置。掌握这些知识点对于搭建一个高效的Android编译服务器...

    azkaban4.0编译包

    2. **解压服务器组件**:将`azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz`和`azkaban-web-server-0.1.0-SNAPSHOT.tar.gz`解压到合适的目录,并配置相应的环境变量,如JAVA_HOME和AZKABAN_HOME。 3. **配置Azkaban**...

    Kepware OPC Server与WinCC通信配置手册

    标题《Kepware OPC Server与WinCC通信配置手册》直接指出了本手册的核心内容是介绍如何配置Kepware OPC Server(一款开放平台通信服务器软件)与西门子WinCC(一种用于自动化和监控的工程软件)之间的通信。...

    apache+多tomcat集群配置过程记录

    下面将详细介绍这个配置过程。 1. **Apache HTTP Server配置** Apache HTTP Server(简称Apache)作为反向代理服务器,可以通过模块(如mod_proxy、mod_jk)将请求转发到后端的Tomcat服务器。在本配置中,我们将...

    cygwin 交叉编译的 coturn 服务器可以在windows 下运行

    - 然后,使用`./configure`配置编译选项,确保指定为Cygwin的目标平台。例如: ``` ./configure --host=i686-pc-cygwin --prefix=/usr/local/coturn ``` 这里,`--host`参数指定了目标平台,`--prefix`设置了...

    Linux下MySQL 5.5.8 源码编译安装记录分享

    3. **编译源码**:配置完成后,使用`make`命令进行编译。编译过程中可能会遇到因缺少bison导致的警告,但不影响最终结果。 4. **安装MySQL**:编译成功后,通过`sudo make install`将编译好的文件安装到指定位置。 ...

    sparkJobServer0.8编译后版本

    1. **解压文件**:首先,将jobServer0.8编译后版本的压缩文件解压到Linux服务器上的一个合适目录。 2. **配置环境**:根据你的环境配置`conf/app.conf`,设置Spark的相关路径、端口、认证信息等。 3. **启动服务**...

    分页SQLServer存储过程

    ### 分页SQL Server存储...本文介绍的分页存储过程不仅考虑了表的结构特性,还提供了灵活的参数配置,使其成为处理大量数据的理想选择。在实际应用中,开发者可以根据具体需求调整参数,以实现高效的数据检索和展示。

    redis-3.0.7-免编译

    这个"redis-3.0.7-免编译"版本是专门为那些希望快速部署Redis服务而设计的,无需经历编译安装的复杂过程。在IT行业中,这种预编译的二进制包对于开发者和运维人员来说是非常实用的,可以节省大量时间并降低出错的...

    mongodb编译文档及编译结果.7z

    总的来说,这个压缩包提供了从头编译MongoDB C++驱动程序的详细过程,以及如何在C++项目中使用这些驱动的实例。对于希望在C++应用中集成MongoDB的开发者来说,这是一个宝贵的资源。通过学习和实践这些步骤,开发者...

    Rtsp Simple Server源码go语言

    - **错误处理和日志记录**:记录运行过程中的错误和调试信息。 在深入研究"Rtsp Simple Server"源码的过程中,你可以了解到如何在Go中实现RTSP协议栈,以及如何高效地处理音视频流的传输。这对于理解网络协议、实时...

Global site tag (gtag.js) - Google Analytics