Ubuntu 7.1 server从无到有搭建jsp/php/rails全能WEB生产环境(六)

 更新时间:2016年11月25日 16:07  点击:1331

作为生产环境,经常需要使用SSL来支持https协议,这部分主要为Apache增加SSL支持。

六、配置apache支持ssl:

1、修改Apache配置文件:
vi /usr/local/apache/conf/httpd.conf
确保两面这行没有被注释:
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf

再配置一个虚拟主机(可配置成xxx.dingl.com,根据购买的SSL证书设置):
<VirtualHost *:80>
ServerName www.dingl.com
DocumentRoot /home/dingl/jsp-web

ResinConfigServer localhost 6800

AddHandler caucho-request jsp
AddHandler caucho-request xtp
AddHandler caucho-request vm
</VirtualHost>

2、修改ssl配置文件:
vi /usr/local/apache/conf/extra/httpd-ssl.conf
dingl.com修改成如下形式:

Listen 443

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl

SSLPassPhraseDialog  builtin

SSLSessionCache        “shmcb:/usr/local/apache/logs/ssl_scache(512000)”
SSLSessionCacheTimeout  300

SSLMutex  “file:/usr/local/apache/logs/ssl_mutex”

##
## SSL Virtual Host Context
##
<VirtualHost _default_:443>

#   General setup for the virtual host
DocumentRoot “/home/dingl/jsp-web”
ServerName www.dingl.com:443
ServerAdmin you@example.com
ErrorLog “/usr/local/apache/logs/error_log”
TransferLog “/usr/local/apache/logs/access_log”

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile “/usr/local/apache/conf/dingl.com.crt”
#SSLCertificateFile “/usr/local/apache/conf/server-dsa.crt”

SSLCertificateKeyFile “/usr/local/apache/conf/dingl.com.key”




AddSlashes: 字符串加入斜线。
bin2hex: 二进位转成十六进位。
Chop: 去除连续空白。
Chr: 返回序数值的字符。
chunk_split: 将字符串分成小段。
convert_cyr_string: 转换古斯拉夫字符串成其它字符串。
crypt: 将字符串用 DES 编码加密。
echo: 输出字符串。
explode: 切开字符串。
flush: 清出输出缓冲区。
get_meta_tags: 抽出文件所有 meta 标记的资料。
htmlspecialchars: 将特殊字符转成 HTML 格式。
htmlentities: 将所有的字符都转成 HTML 字符串。
implode: 将数组变成字符串。
join: 将数组变成字符串。
ltrim: 去除连续空白。
md5: 计算字符串的 MD5 哈稀。
nl2br: 将换行字符转成 <br>。
Ord: 返回字符的序数值。
parse_str: 解析 query 字符串成变量。
print: 输出字符串。
printf: 输出格式化字符串。
quoted_printable_decode: 将 qp 编码字符串转成 8 位字符串。
QuoteMeta: 加入引用符号。
rawurldecode: 从 URL 专用格式字符串还原成普通字符串。
rawurlencode: 将字符串编码成 URL 专用格式。
setlocale: 配置地域化信息。
similar_text: 计算字符串相似度。
soundex: 计算字符串的读音值
sprintf: 将字符串格式化。
strchr: 寻找第一个出现的字符。
strcmp: 字符串比较。
strcspn: 不同字符串的长度。
strip_tags: 去掉 HTML 及 PHP 的标记。
StripSlashes: 去掉反斜线字符。
strlen: 取得字符串长度。
strrpos: 寻找字符串中某字符最后出现处。
strpos: 寻找字符串中某字符最先出现处。
strrchr: 取得某字符最后出现处起的字符串。
strrev: 颠倒字符串。
strspn: 找出某字符串落在另一字符串遮罩的数目。
strstr: 返回字符串中某字符串开始处至结束的字符串。
strtok: 切开字符串。
strtolower: 字符串全转为小写。
strtoupper: 字符串全转为大写。
str_replace: 字符串取代。
strtr: 转换某些字符。
substr: 取部份字符串。
trim: 截去字符串首尾的空格。
ucfirst: 将字符串第一个字符改大写。
ucwords: 将字符串每个字第一个字母改大写。

addslashes
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数使需要让数据库处理的字符串,引号的部份加上斜线,以供数据库查询 (query) 能顺利运作。这些会被改的字符包括单引号 ('')、双引号 (")、反斜线 backslash () 以及空字符 NUL (the null byte)。
参考: stripslashes() htmlspecialchars() quotemeta()

bin2hex
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数让二进位字符串转成十六进位字符串。
使用范例
补充:
josh@superfork.com (22-Jun-1999) 写了一个函数,可将十六进位转成二进位。
<?
function hex2bin($data) {
$len = strlen($data);
for($i=0;$i<$len;$i+=2) {
$newdata .= pack("C",hexdec(substr($string,$i,2)));
}
return $newdata;
}
?>

chop
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将字符串的连续空白清除。
使用范例
<?
$trimmed = Chop($line);
?>
参考: trim()

chr
返回值: 字符串
函数种类: 资料处理
内容说明: 本函数将字符的序数转成 ASCII 的字符。本函数和 ord() 成对照

三、安装PHP

先安装php需要的一些包。

1、安装libxml2:
apt-get install libxml2 libxml2-dev
tar -zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure –prefix=/usr/local/zlib
make
make install

2、安装jpeg:
tar -zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir /usr/local/jpeg
mkdir /usr/local/jpeg/bin
mkdir /usr/local/jpeg/lib
mkdir /usr/local/jpeg/include
mkdir /usr/local/jpeg/man
mkdir /usr/local/jpeg/man/man1
./configure –prefix=/usr/local/jpeg –enable-shared –enable-static
make
make install

3、安装libpng:
tar -zxvf libpng-1.2.16.tar.gz
cd libpng-1.2.16
./configure –prefix=/usr/local/libpng
make
make install

4、安装freetype:
tar -zxvf freetype-2.3.3.tar.gz
cd freetype-2.3.3
./configure –prefix=/usr/local/freetype
make
make install

5、安装gd:
tar -zxvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure –prefix=/usr/local/gd –with-jpeg=/usr/local/jpeg –with-freetype=/usr/local/freetype –with-png –with-zlib
make
make install

6、安装curl:
tar -zxvf curl-7.16.1.tar.gz
cd curl-7.16.1
mkdir -p /usr/local/curl
./configure –prefix=/usr/local/curl –with-ssl
make
make install

7、安装libiconv:
tar -zxvf libiconv-1.11.tar.gz
cd libiconv-1.11
./configure –prefix=/usr/local/iconv
make
make install

8、正式安装PHP:
参数比较多,可根据需要安装,一般情况下这些已经够了。
tar -zxvf php-5.2.5.tar.gz
cd php-5.2.5
./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/usr/local/apache/conf –enable-magic-quotes –with-openssl=/usr/local/ssl –with-zlib=/usr/local/zlib –with-zlib-dir=/usr/local/zlib –with-curl=/usr/local/curl –enable-ftp –with

<

五、安装Rails环境

Rails环境使用Mongrel架设。
1、安装ruby
tar -zxvf ruby-1.8.6.tar.gz
cd ruby-1.8.6
./configure –prefix=/usr/local/ruby
make
make install

将ruby加入PATH
vi /etc/profile
RUBY_HOME=/usr/local/ruby
PATH=”${RUBY_HOME}”/bin:”${JAVA_HOME}”/bin:/usr/local/mysql/bin:”${PATH}”
export PATH

退出root,重新用root登陆,验证ruby是否安装成功
ruby -v
显示版本号,说明安装成功

2、安装gem
tar -zxvf rubygems-0.9.4.tgz
cd rubygems-0.9.4
ruby setup.rb

rubygems-0.9.5好像有问题,无论gem什么包都说ssl没有安装,重新安装个rubygems-0.9.4就没问题了。
3、安装rails/mongrel/termios
apt-get install libssl-dev
gem install rake –include-dependencies
gem install rails –include-dependencies
gem install termios –include-dependencies
gem install mongrel –include-dependencies
gem install mongrel_cluster –include-dependencies

生成一个默认站点(或者将已经开发的网站上传,并配置好数据库)后,转到站点目录
mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /home/dingl/rails-web/ -a 127.0.0.1
在database.yml中配置好数据库,这里是生产环境,配置production段。
如果需要使用socket方式连接mysql,增加:
socket: /tmp/mysql.sock
同时还可以指定数据传输编码:
encoding: utf8

4、启动mongrel:
mongrel_rails cluster::start

如果出现以下错误:
Cannot find gem for Rails ~>1.2.3.0:
Install the missing gem with ‘gem install -v=1.2.3 rails’
则修改config/environment.rb里rails的版本号即可

5、配置Apache与Mongrel:

修改apache的配置文件:
vi /usr/local/apache/conf/httpd.conf
在文件最后增加一个虚拟主机:
<VirtualHost *:80>
  ServerName http://www.111cn.net/
  RewriteEngine On
  DocumentRoot /home/dingl/rails-web/
  ProxyRequests Off
  <Proxy balancer://mongrel_cluster>
    BalancerMember http:/

windows 下配置 apache 2.2.4+php 5.2.5+mysql 5.0.41+zend 3.3.0最新配置

1,php5.2.5 for windows

2, mysql-5.0.41 for windows

3, apache_2.2.4 For Windows

4, ZendOptimizer-3.0.2-Windows-i386

5,phpMyAdmin 2.9.X

以上所有软件都可以在天空软件站找得到。或者在官方网站找。

配置方法:
下载以上软件,然后
一、使用软件:
apache_2.2.4-win32-x86-no_ssl.msi
php-5.2.5-Win32.zip
mysql-4.1.18-win32.zip或mysql-5.0.41-win32.zip
phpMyAdmin-2.9.0
配置环境:Windows 2003 /XP/2000
二、具体步骤
注意事项:安装过程,任何目录和文件名都不要使用空格,
不要使用D:Program Files 而要使用D:ProgramFiles
本次安装目录为D:PC_webserver
1. apache_2.2.4-win32-x86-no_ssl.msi
apache服务器软件,我下载的是win版本,2.0系列的配置都是相似的。
双击安装apache_2.2.4,我把它安装到D:PC_webserverApache2.2 注意,目录名不要包含空格,否则下面设置php会出错。安装结束后,apache自动运行,在浏览器里输入http://127.0.0.1是不是显示出了默认的网页,如果你不希望看到这个页面,可以到D:PC_webserverApache2.2conf 目录下找到 httpd.conf 打开编辑,并查找 DocumentRoot " 在2.0系列的版本中,会找到好几处的 DocumentRoot " ,其中有类似于DocumentRoot “D:PC_webserverapache2.2.htdocs”把引号内的路径改为你自己的路径就可以了,比如 DocumentRoot "D:/phproot" 现在默认的根目录就是 D:/phproot 注意这里用的是"/"。
备注:如果是ZIP的压缩包的话,只需要把Apache2.2解压到目录,然后CMD下运行
D:PC_webserverApache2.2binhttpd -k install :安装
D:PC_webserverApache2.2binhttpd -k start :开始
就行了
2、安装php5.2.5
下载过来的php-5.2.5-Win32一般是个zip格式的压缩包,解压缩到 D:PC_webserver 目录下,并使文件都在一个文件夹下,改文件夹名为php5 ,这样方便接下来的工作。现在我们看到 D:PC_webserver 下面已经有两个文件夹了, 一个是 apache2(安装apache2.0.52自动生成的一个文件夹) 另一个是 php5 我的方式是每一个软件一个文件夹,并且这些文件夹在同一目录下, 这样便于查找。 好了,我们现在开始配置apache 使它支持php5 .
首先,找到 D:PC_webserverphp5 目录下的php.ini-dist 重命名为php.ini (在这个版本中php.ini不需要复制到C:windows 目录下)

接下去,我们开始配置 D:PC_webserverApache2.2conf 下的 httpd.conf文件,打开httpd.conf (可用记事本打开),注意Apache2.2和以前版本有差别,部分的配置文件放置到conf/extra目录中,如语言文件httpd- languages.conf,用户目录文件httpd-userdir.conf
1、原来的Apache2中这一步"找到 AddDefaultCharset ISO-8859-1 将其改为 AddDefaultCharset GB2312" 可以不需要
2、找到DirectoryIndex index.html 在后面加入 index.htm index.php index.html.var

[!--infotagslink--]

相关文章