ubuntu
Apr 11
http://wiki.ubuntu.org.cn/Shell编程基础
Jun 8
开始正式安装:

1,apt安装所需的软件包:

    apt-get install cpp flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb-dev libpopt-dev lynx nmap perl perl-modules unzip zip zlib1g-dev autoconf libtool bison autotools-dev g++ build-essential

2,安装pcre 7.9

    cd /usr/local/src
    wget http://ncu.dl.sourceforge.net/sourceforge/pcre/pcre-7.9.tar.gz
    tar zxvf pcre-7.9.tar.gz
    cd pcre-7.9
    ./configure
    make && make install

    cd ..
    rm -rf pcre-7.9
    rm -rf /usr/bin/pcre-config
    cp -a /usr/local/bin/pcre-config /usr/bin/
    rm -rf /usr/lib/libpcre.a
    cp -a /usr/local/lib/libpcre.a /usr/lib/

3,安装MySQL 5.1.37:(性能提升20%可能有点夸张,不过速度确实快了不少)

3.1,安装libncurses5-dev库:

    apt-get install libncurses5-dev

3.2 添加Mysql用户组:

    /usr/sbin/groupadd mysql

    /usr/sbin/useradd -g mysql mysql

3.3,下载并编译安装MySQL 5.1.37:

    cd /usr/local/src
    wget http://mysql.mirrors.pair.com/Downloads/MySQL-5.1/mysql-5.1.37.tar.gz
    tar zxvf mysql-5.1.37.tar.gz
    cd mysql-5.1.37/

    ./configure
    –prefix=/usr/local/mysql
    –without-debug
    –with-extra-charset=all
    –exec-prefix=/usr/local/mysql
    –with-pthread
    –enable-assembler
    –enable-thread-safe-client
    –with-mysqld-user=mysql
    –with-ssl
    –without-isam
    –without-innodb

    make && make install
    cd /usr/local/mysql
    bin/mysql_install_db –user=mysql
    chown -R root:mysql .
    chown -R mysql /usr/local/mysql
    chgrp -R mysql .
    cp share/mysql/my-medium.cnf /etc/my.cnf

    /share/mysql下面有5个my-xxxx.cnf文件
    my-small.cnf               最小配置安装,内存<=64M,数据数量最少
    my-large.cnf               内存=512M
    my-medium.cnf            32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存
    my-huge.cnf               1G<内存<2G,服务器主要运行mysql
    my-innodb-heavy-4G.cnf   最大配置安装,内存至少4G

    cp share/mysql/mysql.server /etc/init.d/mysqld
    chmod 755 /etc/init.d/mysqld
    echo “/usr/local/mysql/lib” >> /etc/ld.so.conf && ldconfig
    echo ‘/etc/init.d/mysqld start’ >> /etc/rc.local
    /etc/init.d/mysqld start
    ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
    ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/
    ln -s /usr/local/mysql/bin/mysqld_safe /usr/bin/
    ln -s /usr/local/mysql/share/mysql/mysql.server /usr/bin/
    ln -s /usr/local/mysql/bin/mysqldump /usr/bin/
    bin/mysqladmin -u root password “11111111“       //红色“11111111”部分为mysql的root帐户密码,根据自己密码修改

3.4,优化MySQL:

3.4.1,关闭远程连接,即3306端口。这是MySQL的默认监听端口。由于此处MySQL只服务于本地脚本,所以不需要远程连接。尽管 MySQL内建的安全机制很严格,但监听一个TCP端口仍然是危险的行为,因为如果MySQL程序本身有问题,那么未授权的访问完全可以绕过MySQL的内建安全机制。(你必须确定,你是否真的不需要远程连接mysql)

    打开/etc/my.cnf文件,将”#skip-networking”前的”#”去除

3.4.2,MySQL一般包括3个服务,mysql, mysqld-ndb, mysql-ndb-mgm。mysql服务就是我们常有的数据库服务,mysqld-ndb是mysql cluster用的,mysql-ndb-mgm是mysql cluster的管理用的,我们在VPS上一般用不到mysql cluster,所以应该禁止掉mysql-ndb和mysql-ndb-mgm。

    在Debian/Ubuntu下:

    update-rc.d -f mysql-ndb remove

    update-rc.d -f mysql-ndb-mgm remove

    在CentOS下:

    chkconfig mysql-ndb off

    chkconfig mysql-ndb-mgm off

重启MySQL:

    /etc/init.d/mysqld restart

3.5,修改MySQL数据库帐户:

    /usr/local/mysql/bin/mysql -u root -p

输入上述设定的Mysql root帐户密码后,登录MySQL数据库,输入以下内容:

    mysql>use mysql;
    mysql>update user set user=”centos” where user=”root”;       (将mysql的root用户名修改成centos,防止root的密码被暴力破解)
    mysql>select Host,User,Password,Select_priv,Grant_priv from user;
    mysql>delete from user where user=”;                  (删除user用户)
    mysql>delete from user where password=”;               (删除user用户)
    mysql>delete from user where host=”;                     (删除user用户)
    mysql>drop database test;             (删除默认的test数据库)
    mysql>flush privileges;               (刷新mysql的缓存,让以上设置立即生效)
    mysql>quit;

为了使以上优化和安全设置生效,重启Mysql服务或Linux:

    /etc/init.d/mysqld restart

4,安装Apache 2.2.12:

4.1,下载并解压缩Apache 2.2.12:

    wget http://archive.apache.org/dist/httpd/httpd-2.2.12.tar.gz
    tar zxvf httpd-2.2.12.tar.gz
    cd httpd-2.2.12

4.2,修改apache可支持的最大线程数和最大客户端数目:

编辑” server/mpm/worker/worker.c”文件,找到下面几行,并改成如下的数值(可根据自己需要修改):

    # define DEFAULT_SERVER_LIMIT 32
    # define MAX_SERVER_LIMIT 10000
    # define DEFAULT_THREAD_LIMIT 64
    # define MAX_THREAD_LIMIT 10000

4.3,依次安装apr和apr-util:

    cd srclib/apr
    ./configure –prefix=/usr/local/apr
    make && make install
    cd ../apr-util
    ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr/ –with-mysql=/usr/local/mysql
    make && make install

4.4,安装Apache 2.2.12:

    cd /usr/local/src/httpd-2.2.12

    ./configure
    –prefix=/usr/local/apache2
    –enable-mods-shared=all
    –with-mysql=/usr/local/mysql
    –enable-deflate
    –enable-cache
    –enable-file-cache
    –enable-mem-cache
    –enable-disk-cache
    –with-apr=/usr/local/apr/
    –with-apr-util=/usr/local/apr-util/
    –enable-rewrite
    –enable-expires
    –enable-authn-dbm
    –enable-vhost-alias
    –with-mpm=worker
    –with-ssl
    –disable-ipv6
    –disable-cgid
    –disable-cgi

    make && make install

4.5,设置Apache开机启动:

    echo ‘/usr/local/apache2/bin/apachectl start ‘ >> /etc/rc.local

4.6,Apache 参数修改:

4.6.1,MPM参数:

编辑文件“/usr/local/apache2/conf/extra/httpd-mpm.conf ”

找到如下选项,并改成对应的数值(更具自己的需要修改)

    
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadsPerChild      25
    MaxRequestsPerChild  0
    


4.6.2,修改apache2.2子进程所有者:

编辑文件“/usr/local/apache2/conf/httpd.conf ”,找到以下代码:

    User daemon
    Group daemon

修改为:

    User www-data
    Group www-data

5,安装PHP 5.2.10:

(本来想安装5.3的,但5.3接口太新了,很多程序不兼容。。。安装过一次,错误提示多的郁闷到死。。。)

5.1,安装GD:

5.1.1,安装GD相关组件:

    cd /usr/local/src
    wget http://www.ijg.org/files/jpegsrc.v7.tar.gz
    tar xzvf jpegsrc.v7.tar.gz
    cd jpeg-7
    ./configure –enable-shared –enable-static
    make && make install

    cd /usr/local/src
    wget http://ncu.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.37.tar.gz
    tar -zxvf libpng-1.2.37.tar.gz
    cd libpng-1.2.37
    ./configure
    make && make install

    cd /usr/local/src
    wget http://nchc.dl.sourceforge.net/sourceforge/freetype/freetype-2.3.9.tar.gz
    tar -zxvf freetype-2.3.9.tar.gz
    cd freetype-2.3.9
    ./configure
    make && make install

5.1.2,安装GD:

    cd /usr/local/src
    wget http://www.libgd.org/releases/gd-2.0.35.tar.gz
    tar xzvf gd-2.0.35.tar.gz
    cd gd-2.0.35
    ./configure –prefix=/usr/local/gd2 –mandir=/usr/share/man –with-jpeg –with-png –with-zlib –with-freetype
    make && make install

5.2,安装PHP相关组件:

    cd /usr/local/src
    wget ftp://xmlsoft.org/libxml2/libxml2-2.7.3.tar.gz
    tar zxvf libxml2-2.7.3.tar.gz
    cd libxml2-2.7.3
    ./configure
    make && make install

    cd /usr/local/src
    wget http://ncu.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz
    tar zxvf libmcrypt-2.5.8.tar.gz
    cd libmcrypt-2.5.8
    ./configure
    make && make install
    /sbin/ldconfig
    cd libltdl/
    ./configure –enable-ltdl-install
    make && make install

    cd /usr/local/src
    wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
    tar xzvf libiconv-1.13.1.tar.gz
    cd libiconv-1.13.1
    ./configure –prefix=/usr/local
    make && make install

    cd /usr/local/src
    wget http://nchc.dl.sourceforge.net/sourceforge/mhash/mhash-0.9.9.9.tar.gz
    tar xzvf mhash-0.9.9.9.tar.gz
    cd mhash-0.9.9.9
    ./configure
    make && make install
    cp /usr/local/lib/libmcrypt.* /usr/lib
    ln -sf /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
    ln -sf /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
    ln -sf /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
    ln -sf /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
    ln -sf /usr/local/lib/libmhash.a /usr/lib/libmhash.a
    ln -sf /usr/local/lib/libmhash.la /usr/lib/libmhash.la
    ln -sf /usr/local/lib/libmhash.so /usr/lib/libmhash.so
    ln -sf /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
    ln -sf /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
    ldconfig

    cd /usr/local/src
    wget http://www.monkey.org/~provos/libevent-1.4.10-stable.tar.gz
    tar xzvf libevent-1.4.10-stable.tar.gz
    cd libevent-1.4.10-stable
    ./configure –prefix=/usr/libvent
    make && make install

    cd /usr/local/src
    wget http://nchc.dl.sourceforge.net/sourceforge/mcrypt/mcrypt-2.6.8.tar.gz
    tar zxvf mcrypt-2.6.8.tar.gz
    cd mcrypt-2.6.8
    ./configure
    make && make install

5.3,安装PHP 5.2.10

    cd /usr/local/src
    wget http://us.php.net/distributions/php-5.2.10.tar.gz
    tar zxvf php-5.2.10.tar.gz
    cd php-5.2.10

    ./configure
    –prefix=/usr/local/php
    –with-apxs2=/usr/local/apache2/bin/apxs
    –with-mysql=/usr/local/mysql
    –with-mysqli=/usr/local/mysql/bin/mysql_config
    –with-config-file-path=/etc
    –with-zlib
    –with-libxml-dir
    –with-gd=/usr/local/gd2
    –with-freetype-dir
    –with-jpeg-dir
    –with-png-dir
    –with-ttf
    –with-iconv
    –with-mcrypt
    –enable-static
    –enable-maintainer-zts
    –enable-zend-multibyte
    –enable-zend-multibyte
    –enable-inline-optimization
    –enable-sockets
    –enable-wddx
    –enable-zip
    –enable-calendar
    –enable-bcmath
    –enable-ftp
    –enable-soap
    –enable-mbstring
    –disable-ipv6
    –disable-cgi
    –disable-debug

    make ZEND_EXTRA_LIBS=’-liconv’
    make install
    cp php.ini-dist /etc/php.ini

6,Apache整合PHP:

6.1,建议web目录:

    mkdir /home/www   //创建html目录:
    chmod 755 -R /home/www  //设置网站根目录权限
    ls -lh     //查看文件夹属主
    cd /home/www/
    chown -R www-data:www-data /home/www/   //添加用户管理文件夹或文件
    cat /etc/passwd   //查看用户

6.2,编辑“/usr/local/apache2/conf/httpd.conf ”文件:

6.2.1,找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

6.2.2,设置 WEB 默认文件:

查找:

    DirectoryIndex index.html

替换为:

    DirectoryIndex index.htm index.html index.html.var index.php

//在 WEB 目录不到默认文件,httpd 就会执行 /var/www/error/noindex.html

6.2.3,让Apache 支持rewrite:

找到这一段:

    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be “All”, “None”, or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

将“AllowOverride None”修改为:

    AllowOverride All

6.2.4,更改网站根目录:

查找:

    DocumentRoot “/usr/local/apache2/htdocs”

改为:

    DocumentRoot “/home/www”

查找:

    

改为:

    

6.2.5:找到以下内容并去掉注释:

    Include conf/extra/httpd-mpm.conf

    Include conf/extra/httpd-info.conf

    Include conf/extra/httpd-vhosts.conf

    Include conf/extra/httpd-default.conf

6.2.6,让页面支持gzip:

在“LoadModule php5_module        modules/libphp5.so”之后添加:

    
    DeflateCompressionLevel 6
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
    AddOutputFilter DEFLATE css js
    


6.2.7,设置管理员邮箱:

设置

ServerAdmin you@example.com

修改为你自己的管理员邮箱地址;

设置#ServerName www.example.com:80

去掉 # 将地址改为 IP:80

6.2.8,保存并退出

6.3,编辑“/usr/local/apache2/conf/extra/httpd-vhosts.conf ”文件设置你的域名,格式如下:

    
    ServerAdmin webmaster@example.com
    DocumentRoot “/home/www/example/”
    ServerName example.com
    ServerAlias www.example.com
    ErrorLog “logs/example.com-error_log”
    CustomLog “logs/example.com-access_log” common
    


然后保存并退出。

6.4,重启Apache

启动Apache

    /usr/local/apache2/bin/apachectl start

或者重新启动

    /usr/local/apache2/bin/apachectl restar

7,安装eaccelerator:

eaccelerator是php的加速软件,使用后php的执行效率会有较大幅度的提升。eaccelerator 0.9.5.3已经和ZendOptimizer-3.3.3兼容,但Zend除了运行相关文件外,如今的加速效果已经不那么明显了,所以我放弃安装 Zend。

    cd /usr/local/src
    wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
    tar -jxvf eaccelerator-0.9.5.3.tar.bz2
    cd eaccelerator-0.9.5.3
    export PHP_PREFIX=”/usr/local/php”
    $PHP_PREFIX/bin/phpize
    ./configure -enable-eaccelerator=shared -with-php-config=$PHP_PREFIX/bin/php-config
    make && make install

编译安装后我们会看到屏幕提示的eaccelerator.so所在的目录,比如我得到的:

    /usr/local/php/lib/php/extensions/no-debug-zts-20060613/

记住这个路径,待会要用到。

修改php.ini,放在文件最后。(注:如果你之前安装了Zend,eaccelerator的代码必须放在Zend代码之前)

    [eaccelerator]
    extension=”/usr/local/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so”
    eaccelerator.shm_size=”16″
    eaccelerator.cache_dir=”/tmp/eaccelerator”
    eaccelerator.enable=”1″
    eaccelerator.optimizer=”1″
    eaccelerator.check_mtime=”1″
    eaccelerator.debug=”0″
    eaccelerator.filter=”"
    eaccelerator.shm_max=”0″
    eaccelerator.shm_ttl=”0″
    eaccelerator.shm_prune_period=”0″
    eaccelerator.shm_only=”0″
    eaccelerator.compress=”1″
    eaccelerator.compress_level=”9″

解释:

zend_extension 是安装完程序自动指示给我们的

eaccelerator.shm_size=”32″ 缓存大小单位MB

eaccelerator.cache_dir=”/tmp/eaccelerator” 缓存路径

建立缓存目录:

    mkdir /tmp/eaccelerator // 建立目录

    chmod 0777 /tmp/eaccelerator // 修改目录属性

最后重新启动apachectl

/usr/local/apache2/bin/apachectl restart

Ubuntu 9.04 编译安装Apache 2.2.12+MySQL 5.1.37+PHP5.2.10 到这里就初步安装完成了,等过3天确定稳定后,我就开始研究如何优化~不过现在最想做的就是安装在Gentoo上,据说这个Linux是最干净的~
Jun 4

1.       下载apache, http://httpd.apache.org/download.cgi  通过这个官方网站,我们可以下到最新的版本。现在版本都是以这样的方式表达的:httpd-*.*.*.tar.gz

2.       例如,你现在去官网下载的就是最新版本:httpd-2.2.9.tar.gz。

3.       好了,下载到你的家目录/root里面。

4.       [root@hostlocal~]# ls    // 你会看到你下载的httpd-2.2.9.tar.gz.

5.       [root@hostlocal~]# tar –zxvf  httpd-2.2.9.tar.gz // 解压后为httpd-2.2.9

6.       [root@hostlocal~]# mkdir –p /usr/local/web/apache/   //在这个目录下建立文档,利于管理

7.       [root@hostlocal~]# mv /root/httpd-2.2.9 /usr/local/src/  //将安装包放到/src下,利于管理

8.       [root@hostlocal~]# cd httpd-2.2.9

9.       [root@httpd-2.2.9]#./configure  --prefix=/usr/local/web/apache     --enable-shared=max   --enable-module=rewirte   --enable-module=so

10.   [root@httpd-2.2.9]# make  //编译

11.   [root@httpd-2.2.9]# make install

12.   [root@hostlocal~]# service httpd start            //开启httpd服务

安装成功后,apache将会安装到/usr/local/web/apache下面。


设置APACHE开机启动:
echo ‘/usr/local/apache2/bin/apachectl start ‘ >> /etc/rc.local
Jun 2
在这边给大家分享下在Ubuntu 8.10下安装Oracle10g客户端的一些方法: Oracle 为 Ubuntu 用户设立了专门的 apt 源服务器,只需要在 /etc/apt/source.list 中添加一行: deb http://oss.oracle.com/debian unstable main non-free 即可。在运行 apt-get update
  在这边给大家分享下在Ubuntu 8.10下安装Oracle10g客户端的一些方法:
Oracle 为 Ubuntu 用户设立了专门的 apt 源服务器,只需要在 /etc/apt/source.list 中添加一行:
deb http://oss.oracle.com/debian unstable main non-free
即可。在运行 apt-get update 命令之前,还需要将该源服务器的公钥添加在本地 apt 系统的密钥库中。首先下载公钥:

wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle
下载完成之后添加该公钥到密钥库中:
sudo apt-key add RPM-GPG-KEY-oracle
再执行
sudo apt-get update
同步软件包索引文件。
我们可以从这个源上下载安装 Oracle 10g Express Edition。可以选择的软件包有:
oracle-xe - Oracle Database 10g Express Western European Edition
oracle-xe-client - Oracle Client 10g Express Edition
oracle-xe-universal - Oracle Database 10g Express Universal Edition
因为我的开发工作只需要在本地安装一个用于连接 Oracle 服务器的客户端,所以我选择安装的是 oralce-xe-client 这个软件包。
sudo apt-get install oracle-xe-client
安装成功之后,还需要在设置相关的环境变量。编辑 /etc/environment,添加如下几行:(注意直接复制过去,否则会出现ORACLE_HOME是一个目录等问题)
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
TNS_ADMIN=/usr/lib/oracle
PATH=$PATH:$ORACLE_HOME
保存文件之后,运行
source /etc/environment
使方才设置的环境变量即刻在当前终端中生效。切换到 /usr/lib/oracle 目录中,建立 tnsnames.ora 文件,用于配置 Oracle 服务器的连接信息。
所有工作完成之后,就可以在本地连接 Oracle 服务器进行开发工作了。
如果打开SQLPLUS出现
/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin/nls_lang.sh: 112: [[: not found
则:vim /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin/nls_lang.sh

原來的內容:

if [[ -n "$LC_ALL" ]]; then
locale=$LC_ALL
elif [[ -n "$LANG" ]]; then
locale=$LANG
else
locale=
fi

修改成:

if [ -n "$LC_ALL" ]; then
locale=$LC_ALL
elif [ -n "$LANG" ]; then
locale=$LANG
else
locale=
fi

即可。
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]