马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!postfix体系的构造图,我们将依照这个图来安排我们的postfix的邮件办事器
每一个软件包的装置都是一步。
mysql数据库的装置
我这里用的版本是mysql-5.1.69.tar.gz在mysql的官方网站可以下载,并且用的体系是centos5.9
(1)解压mysql-5.1.69.tar.gz
[root@centos~]#tarzxvfmysql-5.1.69.tar.gz
(2)检讨创立mysql用户和组
[root@centos~]#idmysql检讨发明没有mysql用户
id:mysql:Nosuchuser
[root@centos~]#useradd-s/sbin/nologin-d/dev/nullmysql
useradd:warning:thehomedirectoryalreadyexists.
Notcopyinganyfilefromskeldirectoryintoit.
普通不须要mysql上岸,所以也没有给家目次
(3)mysql的编译装置
装置之前必需要有编译装置的对象gcc等
[root@centosmysql-5.1.69]#./configure--prefix=/usr/local/mysql--with-charset=utf8
./configure出了成绩
最初几行出了错。完全毛病信息以下:
checkingfortgetentin-lncurses...no
checkingfortgetentin-lcurses...no
checkingfortgetentin-ltermcap...no
checkingfortgetentin-ltinfo...no
checkingfortermcapfunctionslibrary...configure:error:Nocurses/termcaplibraryfound
缘由:
缺乏ncurses装置包ncurses供给字符终端处置库,包含面板和菜单。
处理方法:
下载装置响应软件包
[root@centosmysql-5.1.69]#yum-yinstallncurses-devel
假如涌现以下提醒证实configure胜利了
ThankyouforchoosingMySQL!
Remembertochecktheplatformspecificpartofthereferencemanual
forhintsaboutinstallingMySQLonyourplatform.
AlsohavealookatthefilesintheDocsdirectory.
make&&makeinstall
MYSQL装置到这里卡了良久,是否是你认为以为逝世机,法式装置毛病了?聪慧的你能够发明了,现实MYSQL曾经装置胜利了,它这步过段时光就会好了,但你晓得是甚么缘由吗?哈哈告知你吧“这是mysql在自我编译测试酿成的“。所以耐烦的等
make[2]:Enteringdirectory`/down/webinstall/mysql-5.1.57/mysql-test
make[3]:Enteringdirectory`/down/webinstall/mysql-5.1.57/mysql-test
make[3]:Nothingtobedonefor`install-exec-am.
makeINSTALL_TO_DIR="/usr/local/mysql/mysql-test"install_test_files
make[4]:Enteringdirectory`/down/webinstall/mysql-5.1.57/mysql-test
mysql设置装备摆设文件
[root@centosmysql-5.1.69]#cpsupport-files/my-medium.cnf/etc/my.cnf
mysql的开机启动
[root@centosmysql-5.1.69]#cpsupport-files/mysql.server/etc/init.d/mysqld
[root@centosmysql-5.1.69]#chmod700/etc/init.d/mysqld
[root@centosmysql-5.1.69]#chkconfig--list|grepmysqld
[root@centosmysql-5.1.69]#chkconfig--addmysqld
初始化数据库生成var目次
]#/usr/local/mysql/bin/mysql_install_db--user=mysql
修正/usr/local/mysql下文件属主和属组
除var目次的属主和属组都为mysql外,其他的只须要将属组设为mysql便可
[root@centos~]#chown-Rroot:mysql/usr/local/mysql/
[root@centos~]#chown-Rmysql:mysql/usr/local/mysql/var/
mysql/mysql-bin.000002test/
mysql-bin.000001mysql-bin.index
[root@centos~]#chown-Rmysql:mysql/usr/local/mysql/var/
启动mysql
/usr/local/mysql/bin/mysqld_safe--user=mysql&
servicemysqldrestart
psaux|grepmysqld
netstat-anpt|grep3306
apache的装置
<p>装置之前界说一个完全的主机名:
不然在启动apache的时刻会有如许的报错:
AH00558:httpd:Couldnotreliablydeterminetheserversfullyqualifieddomainname,using::1.SettheServerNamedirectivegloballytosuppressthismessage
编纂/etc/hosts文件
#Donotremovethefollowingline,orvariousprograms
#thatrequirenetworkfunctionalitywillfail.
127.0.0.1localhost.localdomainlocalhost
::1localhost6.localdomain6localhost6
192.168.87.128centos.wolf.orgcentos
编纂/etc/sysconfig/network文件,然后重启能力失效
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=centos.wolf.org
1,apache装置
tarxvfzhttpd-2.2.11.tar.gz
cdhttpd-2.2.11
./configure--prefix=/usr/local/apache--enable-so
#--prefix=<Install_Path>指明编译后的二进制文件装置到<Install_Path>目次,用现实装置路径调换<Install_Path>,如--prefix=/usr/local/apache-2.2.11,假如省略此设置装备摆设参数,默许装置到/usr/local/apache2目次。
#--enable-so指明编译静态加载模块(DSO)支撑到httpd二进制文件,此模块使得Apache的各功效模块可以与焦点离开编译、运转时静态加载。有了DSO支撑,进级和增长模块时只需编译相干的模块便可,不用从新编译全部体系。最新版本的Apache缺省编译此模块到httpd二进制文件,假如你在应用晚期版本的apache而且须要DSO支撑,能够要明白指出此选项。
#--enable-mods-shared=<MODULE-LIST>明白指明要以DSO方法编译的模块,<MODULE-LIST>为空格分隔的模块名列表、all或许most,all表现包括一切模块,most表现包括年夜部门模块,如--enable-mods-share="rewritedeflate",--enable-mods-share=most,后果同等于多个--enable-<FEATURE>=share
make&&makeinstall
/usr/local/apache/bin/apachectlrestart启动httpd
echo"/usr/local/apache/bin/apachectlstart">>/etc/rc.local参加开机
因为编译装置的时刻http办事默许的用户组和用户名是daemon,在这里我照样改成习气的apache
[root@centoshttpd-2.2.11]#idapache
uid=48(apache)gid=48(apache)groups=48(apache)context=root:system_r:unconfined_t:SystemLow-SystemHigh
[root@centoshttpd-2.2.11]#cd/usr/local/apache/conf/
[root@centosconf]#vimhttpd.conf
Userapache
Groupapache
碰到的成绩:
[root@centoshttpd-2.2.11]#servicehttpdrestart
Stoppinghttpd:[FAILED]
Startinghttpd:(98)Addressalreadyinuse:make_sock:couldnotbindtoaddress[::]:80
(98)Addressalreadyinuse:make_sock:couldnotbindtoaddress0.0.0.0:80
nolisteningsocketsavailable,shuttingdown
Unabletoopenlogs
[FAILED]
这是因为端口被占用了,所以致于要kill就好了
[root@centosapache]#psaux|grephttp
root102710.00.061228728pts/1R+14:450:00grephttp
daemon327570.00.1291441444?S14:190:00/usr/local/apache/bin/httpd-kstart
daemon327580.00.1291441444?S14:190:00/usr/local/apache/bin/httpd-kstart
daemon327590.00.1291441444?S14:190:00/usr/local/apache/bin/httpd-kstart
[root@centosapache]#kill-932757
[root@centosapache]#kill-932758
[root@centosapache]#kill-932759
[root@centosapache]#psaux|grephttp
root104470.00.061228752pts/1S+14:470:00grephttp
[root@centosapache]#/usr/local/apache/bin/apachectlstart
[root@centosapache]#/usr/local/apache/bin/apachectlstart
httpd(pid10463)alreadyrunning
[root@centosapache]#
[root@centosapache]#psaux|grephttp
root104630.00.1249361784?Ss14:470:00/usr/local/apache/bin/httpd-kstart
apache104640.00.1249361340?S14:470:00/usr/local/apache/bin/httpd-kstart
apache104650.00.1249361340?S14:470:00/usr/local/apache/bin/httpd-kstart
apache104660.00.1249361340?S14:470:00/usr/local/apache/bin/httpd-kstart
php装置设置装备摆设
postfix正式装置
<spanstyle="text-align:center;text-transform:none;background-color:#ffffff;text-indent:0px;display:inline!important;font:bold20px/20px宋体;float:none;letter-spacing:normal;color:#555555;word-spacing:0px;-webkit-text-stroke-width:0px">在装置postfix之前有个很主要的任务要做,那就是将sendmail给删除失落,固然也能够不消删除sendmail,然则这类情形就要切换体系的mta为postfix.为何必定要这么做呢?缘由很简略异样作为mail办事的两个软件在mta的时刻会发生抵触,就像是一山不容二虎一样
[root@centos~]#rpm-e--nodepssendmail
一,创立用户和组
创立运转postfix办事的用户(postfix)、组(postfix、postdrop)
[root@centospostfix-2.10.0]#groupadd-g1001postfix
[root@centospostfix-2.10.0]#groupadd-g1002postdrop
[root@centospostfix-2.10.0]#useradd-M-u1001-gpostfix-s/sbin/nologinpostfix
[root@centospostfix-2.10.0]#useradd-M-u1002-gpostdrop-s/sbin/nologinpostdrop
二,编译装置
在postfix的README文档中这么说的。要想编译装置postfix支撑mysql,那末就要加上
-DHAS_MYSQL和-I这两个参数,还给了我们这个例子,其他的参数是添加平安和认证
CCARGS参数:为编译器供给额定的参数。“-I”选项指出尺度的额定头文件的寄存目次。例如,mysql和cyrus-sasl的头文件分离位于目次:/usr/local/mysql/lib/mysql、/usr/include/sasl。
AUXLIBS参数:指出位于尺度地位以外的额定函数库。假如须要链接SASL、MySQL或任何附加的函数库,并且它们不是寄存在尺度地位(/usr/lib/目次),则必需在AUXLIBS参数中指出这些函数库的路径。例如,mysql和cyrus-sasl的库文件分离位于目次:/usr/local/mysql/lib/mysql、/usr/lib/sasl2。
[root@centospostfix-2.10.0]#makemakefilesCCARGS=-DHAS_MYSQL-I/usr/local/mysql/include/mysql-DUSE_SASL_AUTH-DUSE_CYRUS_SASL-I/usr/include/saslAUXLIBS=-L/usr/local/mysql/lib/mysql-lmysqlclient-lz-lm-L/usr/lib/sasl2-lsasl2
依照以下的提醒输出相干的路径([]号中的是缺省值,”[]”后的是输出值,省略的表现采取默许值)(可全体采取默许值)
留意)生成别号二进制文件,这个步调假如疏忽,会形成postfix效力极低:
#newaliases
- install_root:[/]/
- tempdir:[/root/postfix-2.6.5]
- config_directory:[/etc/postfix]
- command_directory:[/usr/sbin]
- daemon_directory:[/usr/libexec/postfix]
- data_directory:[/var/lib/postfix]
- html_directory:[no]/
- mail_owner:[postfix]
- mailq_path:[/usr/bin/mailq]
- manpage_directory:[/usr/local/man]
- newaliases_path:[/usr/bin/newaliases]
- queue_directory:[/var/spool/postfix]
- readme_directory:[no]
- sendmail_path:[/usr/sbin/sendmail]
- setgid_group:[postdrop]
编译排错
(1)
dict_mysql.c:772:error:‘HOST’hasnomembernamed‘db’
dict_mysql.c:773:error:‘HOST’hasnomembernamed‘db’
dict_mysql.c:774:error:‘HOST’hasnomembernamed‘hostname’
dict_mysql.c:775:error:‘HOST’hasnomembernamed‘name’
dict_mysql.c:776:error:‘HOST’hasnomembernamed‘name’
make:***[dict_mysql.o]毛病1
make:***[update]毛病1
处理:
由于刚开端的时刻看一些文档外面路径用的是/usr/local/mysql/include,/usr/local/mysql/lib所以找不到mysql.h文件
后来改成/usr/local/mysql/include/mysql,/usr/local/mysql/lib/mysql毛病就处理了
(2)
Installtheappropriatedb*-develpackagefirst.
装置要想mysql支撑就要装置edb*-devel
[root@centospostfix-2.10.0]#yuminstall-ydb*-devel
(3)
xsasl_cyrus_server.c:606:error:XSASL_CYRUS_SERVERhasnomembernamedusername
xsasl_cyrus_server.c:607:error:XSASL_CYRUS_SERVERhasnomembernamedusername
make:***[xsasl_cyrus_server.o]Error1
make:***[update]Error1
缺乏cyrus认证包:有cyrus-sasl-md5cyrus-sasl-libcyrus-sasl-plaincyrus-saslcyrus-sasl-devel
[root@centospostfix-2.10.0]#yuminstall-ycyrus-sasl-md5cyrus-sasl-libcyrus-sasl-plaincyrus-saslcyrus-sasl-devel
(4)
bin/postconf:errorwhileloadingsharedlibraries:libmysqlclient.so.16:cannotopensharedobjectfile:Nosuchfileordirectory
处理办法:
这里说找不到mysql的同享库,须要将路径参加/etc/ld.so.conf#echo"/usr/local/mysql/lib/mysql">>/etc/ld.so.conf#ldconfig
[root@centospostfix-2.10.0]#cp/usr/local/mysql/lib/mysql/libmysqlclient.so.16/usr/lib/
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysql/lib/mysql/
[root@centospostfix-2.10.0]#/usr/sbin/postfixstart
postfix/postfix-script:fatal:thePostfixmailsystemisalreadyrunning
[root@centospostfix-2.10.0]#netstat-antup|grep25
tcp000.0.0.0:250.0.0.0:*LISTEN32713/master
<spanclass="Apple-converted-space">postfix正式设置装备摆设
postfix的设置装备摆设文件/etc/postfix/main.cf |