编译安装 mysql 5.5.0 m2 通过 

由于我自己的ubuntu 系统一直没有搭建LAMP,而最近我一直比较看重的Centos VPS被端掉以后.我便开始转向于我的本机了.

由于昨天一不小心,把系统自带的network-manager卸载掉了,导致连不上网.今天从别的电脑里下载了network-manager,ppp,pppoe-config 的deb 包,传到系统里才解决了这个问题....

废话不说了,电脑好了后,下载了mysql最新的版本 mysql-5.5.0-m2.

解压,我的configure:

It was created by configure, which was
generated by GNU Autoconf 2.63. Invocation command line was

$ ./configure --prefix=/usr/local/mysql --enable-assembler --enable-profiling --with-charset=utf8 --with-extra-charsets=all --with-system-type --with-machine-type --with-server-suffix --with-mysqld-user=mysql --with-zlib-dir=bundled --with-error-inject --with-comment --with-big-tables --with-embedded-server --with-embedded-privilege-control

一次通过,没有缺依赖.

而后,make 编译,最后 make install 安装.

安装好了后,要创建 mysql专用的用户和组,如 mysql. (因为我是第一次安装)
shell> groupadd mysql
shell> useradd -g mysql mysql
而后创建软链接到 /usr/bin
shell> cd /usr/local
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s full-path-to-mysql-VERSION-OS mysql

之后创建测试数据库,表
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql (由于我是自定义的prefix)
shell> chown -R root .
shell> chown -R mysql data

完事后,进入mysql 源码文件夹,进入 support-files 文件夹,按情况复制
my-large/medium/small.cnf 配置文件到 /etc 下.

PS:我的ubuntu自带了这个文件在 /etc/mysql 下

一切ok后,启动数据库
shell> bin/mysqld_safe --user=mysql & (密码初始为空)
[ ] ( 2730 次浏览 ) 永久链接 ( 2.9 / 2984 )
本站恢复访问 

由于之前的ISP和工信部的河蟹原因,本站点中断了一段时间。

今天终于把数据转移到国外空间上来了,即日恢复访问.
[ ] ( 161564 次浏览 ) 永久链接 ( 3.1 / 2818 )
编译安装 vsftpd + pam-mysql 管理虚拟用户 

鉴于pureftpd最近不稳定的发布新版本,我觉得应该更换一个更加安全的ftp服务端。

于是,vsftpd 出现了。之所以选择它是因为

1.它的名字比较安全 2.像 openbsd.org,redhat,gnu.org等都在用它,应该错不了.

于是下载了vsftpd最新版本 2.2.2.解压

编译vsftpd是一件很easy的事情,因为作者Chris已经提供了现成的makefile了,不存在依赖问题了,你只要make一下即可.

不过在编译之前,你得根据自己的需求,编辑一下builddefs.h文件,把你需要编译进来的功能定义进来。就是把#undef 改成 #define 即可(切忌不要和我一样想当然,认为是把前面的"#"删掉... 囧rz)

比如我待会要用到pam验证,所以改成 #define VSF_BUILD_PAM。

接下来make install,完了之后把需要的配置文件(源码提供的配置样式)拷过来.


cp vsftpd /usr/local/sbin/vsftpd
cp vsftpd.conf /etc
cp RedHat/vsftpd.pam /etc/pam.d/ftp

vsftpd.conf 的具体配置可以参见官方提供的doc:
http://vsftpd.beasts.org/vsftpd_conf.html

现在敲命令"vsftpd &",已经可以正常启动vsftpd了,只不过login failure罢了,因为没有用户.

至此看来,vsftpd的确是比pureftpd方便,不过现在的认为是大错特错了。
因为pureftpd 自带了与时下流行的跨平台数据库,如mysql、postgresql、oracle等的桥接.
只要编译时带个 --with-mysql 之类的参数,而后再编辑一个pureftpd-mysql.conf就可以了.

但是vsftpd却是通过pam去验证用户的.
首先安装pam-devel(我已经有了).
yum install pam-devel 即可.

下载pam-mysql源码,解压
我的configure:

It was created by pam_mysql configure 0.7RC1, which was
generated by GNU Autoconf 2.59. Invocation command line was

$ ./configure --prefix=/usr/local/pam --with-mysql=/usr/local/mysql

完成后, ls -l /lib/security/ ,看看有没有 pam_mysql.so 文件.

而后编辑之前拷来的 /etc/pam.d/ftp 文件,
"#"注掉里面所有内容,加入

auth required pam_mysql.so user=USER passwd=PASSWD host=localhost db=DATABASE table=TABLE usercolumn=USERNAME passwdcolumn=PASSWORD crypt=2

account required pam_mysql.so user=USER passwd=PASSWD host=localhost db=DATABASE table=TABLE usercolumn=USERNAME passwdcolumn=PASSWORD crypt=2

这些都是指定哪个用户,密码是什么,它通过pam-mysql去查询哪个数据库的哪张表的哪些字段,ftp用户的用户名和密码对应的哪两个字段等.
当然,这些数据库,表都得事先建好.并给你指定的用户授权一下。
大写内容如 USER 等根据实际更改.crypt=2 表示用mysql自带的PASSWORD()函数加密, 0 表示明文存放.

此时编辑 /etc/vsftpd.conf,找到pam_service_name=字段(没有就自己加),赋值给刚刚修改pam的文件名 vsftpd.

之后重启vsftpd,按照你数据里面插入的用户数据便可成功登录ftp.

PS:在建用户表的时候,密码字段(varchar)一定要设置长一点,我当时就是设了40,谁知道mysql PASSWORD()函数加密后有50位,害得我总是登录不了。郁闷了好长时间.

vsftpd的确是一个很强大的ftp服务端,只要你配置vsftpd.conf得当,它的能力是不可估量的。
具体配置可以参见官方提供的doc:
http://vsftpd.beasts.org/vsftpd_conf.html
[ ] ( 2392 次浏览 ) 永久链接 ( 3 / 2845 )
编译安装 mysql-5.4.3-beta 通过 

由于我的vps上面跑的是老版本的mysql 5.1.33,最近打算升级到最新版本.

5.1 支线是官方推荐的稳定版,最新的是刚刚发布的 5.1.41 吧。不过我这个人比较喜欢尝鲜,于是自己下载了最新的开发版分支5.4的最新beta 版--5.4.3.

解压,编译.

我的configure:

It was created by configure, which was
generated by GNU Autoconf 2.63. Invocation command line was

$ ./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charsets=all --with-system-type --with-machine-type --with-unix-socket-path=/var/mysql.sock --with-mysqld-user=my_sql --with-zlib-dir=bundled --with-error-inject --with-embedded-server --with-embedded-privilege-control

值得注意的事,如果你的mysql上要跑像 discuz! 等社区论坛,用到了gbk,gb2312编码,那得像我一样加上 --with-charset=gbk 参数,不然导入数据时候,会报错...

mysql编译有点慢,得等等.机器配置好另当别论
[ ] ( 2215 次浏览 ) 永久链接 ( 2.9 / 2662 )
成功编译 php 5.3.1 通过 

最近php 发布了最新的一个版本5.3.1,由于修复了很多bug,于是决定升级.

废话不说,我的configure:

[root@linuxserver php-5.3.1]# ./configure --prefix=/usr/local/php --enable-mod-charset --with-apxs2=/usr/local/apache/bin/apxs --enable-safe-mode --with-pcre-regex --with-zlib --with-bz2 --enable-calendar --with-curl --enable-dba --enable-exif --enable-ftp --with-gd --with-mhash --with-imap --with-kerberos --with-imap-ssl --enable-intl --with-ldap --enable-mbstring --with-mcrypt --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-sockets --enable-wddx --enable-zip --with-icu-dir=/usr/local/ICU --with-pear --enable-zend-multibyte

这次的编译较往常的源码编译安装,最大的不同点就是php不会在生产 如 libphp5.so 的扩展模块文件了,而是根据用户的编译参数,
直接通过
libtool --finish /path/to/src/libs
这样的命令直接生成到目标目录.
省事了不少,大家也不要在make install 后为找不到 .so 扩展而惊讶了.
[ ] ( 2689 次浏览 ) 永久链接 ( 2.9 / 3033 )

<< <上一页 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 下一页> >>