{"id":1448,"date":"2012-12-06T17:03:26","date_gmt":"2012-12-06T09:03:26","guid":{"rendered":"http:\/\/www.huzs.top\/?p=1448"},"modified":"2012-12-07T12:01:53","modified_gmt":"2012-12-07T04:01:53","slug":"%e5%ae%8c%e7%be%8e%e7%9a%84%e6%9c%8d%e5%8a%a1%e5%99%a8-centos-6-3-x86_64-nginx-dovecot-ispconfig-3","status":"publish","type":"post","link":"https:\/\/www.huzs.top\/?p=1448","title":{"rendered":"\u5b8c\u7f8e\u7684\u670d\u52a1\u5668 &#8211; CentOS 6.3 x86_64 (nginx, Dovecot, ISPConfig 3)"},"content":{"rendered":"<p>\u7248\u672c1.0<\/p>\n<p>\u4f5c\u8005\uff1aFalko\u548cTimme<\/p>\n<p>\u7ffb\u8bd1:Josen<\/p>\n<p>\u6700\u540e\u7f16\u8f91\u4e8e2012\u5e748\u67086\u65e5<\/p>\n<p>\u672c\u6559\u7a0b\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5ISPConfig3,\u51c6\u5907\u4e00\u4e2aCentOS6.3 x86_64\u7684\u670d\u52a1\u5668\u4ee5\u53ca\u914d\u7f6eISPConfig3\u3002 ISPConfig3\u662f\u4e00\u4e2a\u865a\u62df\u4e3b\u673a\u63a7\u5236\u9762\u677f\uff0c\u53ef\u8ba9\u60a8\u901a\u8fc7\u7f51\u7edc\u6d4f\u89c8\u5668\u914d\u7f6e\u4ee5\u4e0b\u670d\u52a1\uff1anginx web server, Postfix mail server, MySQL, BIND nameserver, PureFTPd, SpamAssassin, ClamAV, Mailman, and many more\u3002\u81ea3.0.4\u7248\u4ee5\u6765\uff0cISPConfig\u5230Apache\u7684Apache Web\u670d\u52a1\u5668\u7684\u5168\u9762\u652f\u6301;\u672c\u6559\u7a0b\u4e2d\u6d89\u53ca\u7684\u670d\u52a1\u5668\u4f7f\u7528nginx\u7684\uff0c\u800c\u4e0d\u662fApache\u7684\u8bbe\u7f6e\u3002<\/p>\n<p><strong>\u8bf7\u6ce8\u610f\uff0c\u6b64\u8bbe\u7f6e\u5e76\u4e0d\u9002\u7528\u4e8eISPConfig2\uff01\u5b83\u662f\u6709\u6548\u7684ISPConfig3\u53ea\uff01<\/strong><\/p>\n<p>\u6211\u4e0d\u53d1\u51fa\u4efb\u4f55\u4fdd\u8bc1\uff0c\u8fd9\u6837\u914d\u7f6e\u4e5f\u53ef\u4ee5\u5728\u4f60\u90a3\u91cc\u6b63\u5e38\u8fd0\u884c\uff01<!--more--><\/p>\n<h3>1\u8981\u6c42<\/h3>\n<p>\u8981\u5b89\u88c5\u8fd9\u6837\u7684\u7cfb\u7edf\uff0c\u4f60\u9700\u8981\u5177\u5907\u4ee5\u4e0b\u6761\u4ef6\uff1a<\/p>\n<ul>\t<\/p>\n<li>\u4f60\u8981\u51b2\u955c\u50cf\u7ad9\u70b9\u4e0b\u8f7d\u4e24\u5f20CentOS 6.3 DVDs \u5149\u76d8\u3002(\u955c\u50cf\u7ad9\u70b9\u5217\u8868\u53ef\u4ee5\u5728\u8fd9\u91cc\u627e\u5230: <a href=\"http:\/\/isoredirect.centos.org\/centos\/6\/isos\/x86_64\/\" target=\"_blank\">http:\/\/isoredirect.centos.org\/centos\/6\/isos\/x86_64\/<\/a>).<\/li>\n<p>\t<\/p>\n<li>\u4e00\u4e2a\u5feb\u901f\u7684\u4e92\u8054\u7f51\u63a5\u5165\u3002<\/li>\n<p><\/ul>\n<p>&nbsp;<\/p>\n<h3>2\u521d\u6b65\u8bf4\u660e<\/h3>\n<p>\u5728\u672c\u6559\u7a0b\u4e2d\uff0c\u6211\u4f7f\u7528\u7684\u4e3b\u673a\u540d\u4e3aserver1.example.com\uff0cIP\u5730\u5740192.168.0.100\uff0c\u7f51\u5173192.168.0.1\u3002\u8fd9\u4e9b\u8bbe\u7f6e\u53ef\u80fd\u4f1a\u6709\u6240\u4e0d\u540c\uff0c\u6240\u4ee5\u4f60\u5fc5\u987b\u5728\u9002\u5f53\u60c5\u51b5\u4e0b\u66f4\u6362\u3002<\/p>\n<h3>3\u5b89\u88c5\u57fa\u672c\u7cfb\u7edf<\/h3>\n<p>\u9996\u5148\u4f7f\u7528CentOS 6.3 DVD (DVD 1)\u5f15\u5bfc. \u9009\u62e9\u5b89\u88c5\u6216\u8005\u5347\u7ea7\u4e00\u4e2a\u5df2\u7ecf\u5b58\u5728\u7684\u7cfb\u7edf:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/11.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"11\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/11-560x420.jpg\" alt=\"11\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u6240\u4ee5\u5728\u8fd9\u91cc\u6211\u4eec\u5c06\u8df3\u8fc7\u8fd9\u4e2a\u6d4b\u8bd5\uff0c\u5b83\u53ef\u80fd\u9700\u8981\u5f88\u957f\u7684\u65f6\u95f4\u6765\u6d4b\u8bd5\u5b89\u88c5\u4ecb\u8d28:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"2\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/2-560x311.png\" alt=\"2\" width=\"560\" height=\"311\" \/><\/a><\/p>\n<div><\/div>\n<p>CentOS\u7684\u5b89\u88c5\u7a0b\u5e8f\u7684\u6b22\u8fce\u5c4f\u5e55\u4f1a\u51fa\u73b0\u3002\u70b9\u51fb\u201c\u4e0b\u4e00\u6b65\u201d:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"3\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/3.jpg\" alt=\"3\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u9009\u62e9\u4f60\u7684\u8bed\u8a00\u5e76\u4e0b\u4e00\u6b65:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"4\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/4-560x420.png\" alt=\"4\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u9009\u62e9\u952e\u76d8\u5e03\u5c40:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"5\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/5-560x420.png\" alt=\"5\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u6211\u5047\u8bbe\u4f60\u4f7f\u7528\u672c\u5730\u8fde\u63a5\u7684\u786c\u76d8\u9a71\u52a8\u5668\uff0c\u6240\u4ee5\u4f60\u5e94\u8be5\u5728\u8fd9\u91cc\u9009\u62e9\u201c\u57fa\u672c\u5b58\u50a8\u8bbe\u5907:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/61.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"61\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/61-560x420.png\" alt=\"61\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u60a8\u53ef\u80fd\u4f1a\u770b\u5230\u4ee5\u4e0b\u7684\u8b66\u544a &#8211; \u201c\u5b58\u50a8\u9a71\u52a8\u5668\u8b66\u544a\u201d\u3002\u786e\u5b9a\u662f\u5426\u5220\u9664\u6570\u636e\uff0c\u6216\u8005\u4fdd\u7559\u6570\u636e\u3002\u5f53\u7136\uff0c\u5982\u679c\u4f60\u9009\u62e9\u4fdd\u7559\uff0c\u4f60\u5c06\u65e0\u6cd5\u8fdb\u884c\u4e0b\u4e00\u6b65:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"7\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/7-560x420.png\" alt=\"7\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u586b\u5199\u670d\u52a1\u5668\u7684\u4e3b\u673a\u540d\uff08\u4f8b\u5982server1.example.com\uff09\uff0c\u7136\u540e\u5355\u51fb\u201c\u914d\u7f6e\u7f51\u7edc\u201d\u6309\u94ae:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"8\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/8-560x420.png\" alt=\"8\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u8f6c\u5230\u201c\u6709\u7ebf\u201c\u9009\u9879\u5361\uff0c\u9009\u62e9\u201d\u7f51\u7edc\u63a5\u53e3\u201d\uff08\u53ef\u80fd\u662feth0\uff09\uff0c\u5e76\u5355\u51fb\u201c\u7f16\u8f91\u201d&#8230;:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/9.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"9\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/9-560x420.png\" alt=\"9\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u52fe\u9009\u201c\u81ea\u52a8\u8fde\u63a5\u201d\u590d\u9009\u6846\uff0c\u7136\u540e\u5230IPv4\u8bbe\u7f6e\u9009\u9879\u5361\uff0c\u5e76\u5728\u65b9\u6cd5\u4e0b\u62c9\u83dc\u5355\u4e2d\u9009\u62e9\u201c\u624b\u52a8\u201d\u3002\u586b\u5199\u4e00\u4e2a\uff0c\u4e24\u4e2a\u6216\u4e09\u4e2a\u57df\u540d\u670d\u52a1\u5668\uff08\u4ee5\u9017\u53f7\u5206\u9694\uff09\u4e2d\u7684DNS\u670d\u52a1\u5668\u9886\u57df\uff08\u59828.8.8.8,8.8.4.4\uff09\uff0c\u7136\u540e\u5355\u51fb\u201c\u6dfb\u52a0\u201d\u6309\u94ae\u65c1\u8fb9\u7684\u5730\u5740\u533a\u57df:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/101.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"101\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/101-560x420.png\" alt=\"101\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u73b0\u5728\u7ed9\u4f60\u7684\u7f51\u5361\u7684\u9759\u6001IP\u5730\u5740\u548c\u7f51\u7edc\u63a9\u7801\uff08\u5728\u672c\u6559\u7a0b\u4e2d\u6211\u4f7f\u7528\u7684IP\u5730\u5740\u4e3a192.168.0.100\uff0c\u5b50\u7f51\u63a9\u7801255.255.255.0,\u540c\u65f6\u586b\u5199\u4f60\u7684\u7f51\u5173\uff08\u5982\uff1a192.168.0.1\uff09\uff0c\u5355\u51fb\u201cApply\uff08\u5e94\u7528\uff09\u6309\u94ae:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"11\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/11-560x420.png\" alt=\"11\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u73b0\u5728\u5df2\u7ecf\u5b8c\u6210\u7f51\u7edc\u914d\u7f6e\u3002\u70b9\u51fb\u201c\u4e0b\u4e00\u6b65\u201d\u6309\u94ae:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"12\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/12-560x420.png\" alt=\"12\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u9009\u62e9\u60a8\u6240\u5728\u7684\u65f6\u533a:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"13\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/13-560x420.png\" alt=\"13\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u8bbe\u7f6e\u8d85\u7ea7\u7528\u6237\u7684\u5bc6\u7801:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"14\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/14-560x420.png\" alt=\"14\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u505a\u5206\u533a\u3002\u9009\u62e9\u201c\u66ff\u6362\u73b0\u6709\u7684Linux\u7cfb\u7edf\uff08S\uff09&#8221;\u3002\u8fd9\u4f1a\u7ed9\u4f60\u4e00\u4e2a\u5c0f\u7684\/ boot\u5206\u533a\uff0c\u4e00\u4e2a\u5927\u7684\/\u5206\u533a\u8fd9\u662f\u6211\u4eec\u7684\u76ee\u7684:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/151.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"151\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/151-560x420.png\" alt=\"151\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u9009\u62e9\u201c\u4fee\u6539\u5199\u5165\u78c1\u76d8\u201d:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/16.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"16\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/16-560x420.png\" alt=\"16\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u6b63\u5728\u683c\u5f0f\u5316\u786c\u76d8\u9a71\u52a8\u5668:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/17.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"17\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/17-560x420.png\" alt=\"17\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u73b0\u5728\uff0c\u6211\u4eec\u9009\u62e9\u6211\u4eec\u60f3\u8981\u7684\u8f6f\u4ef6\u5b89\u88c5\u3002\u9009\u62e9\u57fa\u672c\u670d\u52a1\u5668\uff0c\u7136\u540e\u68c0\u67e5CentOS\u7684\u989d\u5916\u7684\u8d44\u6599\u5e93\u680f\u4f4d\u4e2d\uff0c\u9009\u62e9\u201c\u81ea\u5b9a\u4e49\u201d\u540e\uff0c\u5355\u51fb\u201c\u4e0b\u4e00\u6b65\u201d:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/18.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"18\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/18-560x420.png\" alt=\"18\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u5f00\u59cb\u5b89\u88c5\u3002\u8fd9\u5c06\u9700\u8981\u51e0\u5206\u949f\u7684\u65f6\u95f4:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/19.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"19\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/19-560x420.png\" alt=\"19\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u6700\u540e\uff0c\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u4ece\u8ba1\u7b97\u673a\u4e2d\u5220\u9664\u60a8\u7684DVD\uff0c\u7136\u540e\u91cd\u65b0\u542f\u52a8\u5b83:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/20.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"20\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/20-560x420.png\" alt=\"20\" width=\"560\" height=\"420\" \/><\/a><\/p>\n<div><\/div>\n<p>\u91cd\u65b0\u542f\u52a8\u540e\uff0c\u4ee5root\u8eab\u4efd\u767b\u5f55.<\/p>\n<p>\u6211\u5e0c\u671b\uff0c\u5b89\u88c5ISPConfig\u672c\u6559\u7a0b\u7ed3\u675f\u65f6\uff0c\u5b83\u6709\u5176\u81ea\u5df1\u7684\u9632\u706b\u5899\u3002\u8fd9\u5c31\u662f\u4e3a\u4ec0\u4e48\u6211\u73b0\u5728\u7981\u7528\u9ed8\u8ba4\u7684CentOS\u7684\u9632\u706b\u5899\u3002\u5f53\u7136\uff0c\u4f60\u53ef\u4ee5\u81ea\u7531\u79bb\u5f00\u5b83\uff0c\u5e76\u5c06\u5b83\u914d\u7f6e\u60a8\u7684\u9700\u6c42\uff08\u4f46\u4f60\u4e0d\u5e94\u8be5\u4f7f\u7528\u4efb\u4f55\u5176\u4ed6\u7684\u9632\u706b\u5899\u4ee5\u540e\uff0c\u56e0\u4e3a\u5b83\u5f88\u53ef\u80fd\u4f1a\u5e72\u6270CentOS\u7684\u9632\u706b\u5899\uff09\u3002<\/p>\n<p>\u8fd0\u884c&#8230;<\/p>\n<p>system-config-firewall-tui<\/p>\n<p>&#8230; \u7981\u7528\u9632\u706b\u5899\u3002\u4e4b\u540e\u70b9\u51fbOK:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/212.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"212\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/212-560x311.png\" alt=\"212\" width=\"560\" height=\"311\" \/><\/a><\/p>\n<div><\/div>\n<p>\u9009\u62e9Yes\uff0c\u786e\u8ba4\u60a8\u7684\u9009\u62e9:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/22.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"22\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/22-560x311.png\" alt=\"22\" width=\"560\" height=\"311\" \/><\/a><\/p>\n<div><\/div>\n<p>\u5982\u679c\u4f60\u6ca1\u6709\u5728\u5b89\u88c5\u8fc7\u7a0b\u4e2d\u914d\u7f6e\u7f51\u5361\uff0c\u4f60\u9700\u8981\u5728\u8fd9\u91cc\u914d\u7f6e\u3002\u8fd0\u884c\u3002..<\/p>\n<p>system-config-network<\/p>\n<p>&#8230; \u914d\u7f6e\u9a71\u52a8\u5668:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/231.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"231\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/231-560x311.png\" alt=\"231\" width=\"560\" height=\"311\" \/><\/a><\/p>\n<div><\/div>\n<p>\u9009\u62e9\u60a8\u7684\u7f51\u7edc\u63a5\u53e3:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/241.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"241\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/241-560x311.png\" alt=\"241\" width=\"560\" height=\"311\" \/><\/a><\/p>\n<div><\/div>\n<p>\u7136\u540e\u8bf7\u586b\u5199\u60a8\u7684\u7f51\u7edc &#8211; \u7981\u7528DHCP\uff08\u52a8\u6001\u4e3b\u673a\u914d\u7f6e\u534f\u8bae\uff09\uff0c\u5e76\u586b\u5199\u5728\u4e00\u4e2a\u9759\u6001\u7684IP\u5730\u5740\uff0c\u7f51\u7edc\u63a9\u7801\uff0c\u7f51\u5173\uff0c\u4ee5\u53ca\u4e00\u4e2a\u6216\u4e24\u4e2a\u57df\u540d\u670d\u52a1\u5668\uff0c\u7136\u540e\u70b9\u51fbOK:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/25.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"25\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/25-560x311.png\" alt=\"25\" width=\"560\" height=\"311\" \/><\/a><\/p>\n<div><\/div>\n<p>\u63a5\u4e0b\u6765\u9009\u62e9\u4fdd\u5b58:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/26.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"26\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/26-560x311.png\" alt=\"26\" width=\"560\" height=\"311\" \/><\/a><\/p>\n<div><\/div>\n<p>\u60a8\u4e5f\u53ef\u4ee5\u6307\u5b9a\u989d\u5916\u7684\u57df\u540d\u670d\u52a1\u5668\u3002\u9009\u62e9\u201cDNS\u914d\u7f6e:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/27.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"27\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/27-560x311.png\" alt=\"27\" width=\"560\" height=\"311\" \/><\/a><\/p>\n<div><\/div>\n<p>\u73b0\u5728\uff0c\u60a8\u53ef\u4ee5\u586b\u5199\u989d\u5916\u7684\u57df\u540d\u670d\u52a1\u5668\uff0c\u70b9\u51fbOK:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/28.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"28\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/28-560x311.png\" alt=\"28\" width=\"560\" height=\"311\" \/><\/a><\/p>\n<div><\/div>\n<p>\u9009\u62e9\u4fdd\u5b58\u540e\u9000\u51fa:<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/29.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"29\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/29-560x311.png\" alt=\"29\" width=\"560\" height=\"311\" \/><\/a><\/p>\n<div><\/div>\n<p>\u60a8\u5e94\u8be5\u8fd0\u884c<\/p>\n<p>ifconfig<\/p>\n<p>\u73b0\u5728\uff0c\u4ee5\u68c0\u67e5\u4f60\u7684IP\u5730\u5740\u662f\u5426\u5b89\u88c5\u6b63\u786e\u7684:<\/p>\n<p>[root@server1\u00a0~]#\u00a0ifconfig<\/p>\n<p>eth0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Link\u00a0encap:Ethernet\u00a0\u00a0HWaddr\u00a000:0C:29:00:85:AC<\/p>\n<p>inet\u00a0addr:192.168.0.100\u00a0\u00a0Bcast:192.168.0.255\u00a0\u00a0Mask:255.255.255.0<\/p>\n<p>inet6\u00a0addr:\u00a0fe80::20c:29ff:fe00:85ac\/64\u00a0Scope:Link<\/p>\n<p>UP\u00a0BROADCAST\u00a0RUNNING\u00a0MULTICAST\u00a0\u00a0MTU:1500\u00a0\u00a0Metric:1<\/p>\n<p>RX\u00a0packets:278\u00a0errors:0\u00a0dropped:0\u00a0overruns:0\u00a0frame:0<\/p>\n<p>TX\u00a0packets:86\u00a0errors:0\u00a0dropped:0\u00a0overruns:0\u00a0carrier:0<\/p>\n<p>collisions:0\u00a0txqueuelen:1000<\/p>\n<p>RX\u00a0bytes:28503\u00a0(27.8\u00a0KiB)\u00a0\u00a0TX\u00a0bytes:16360\u00a0(15.9\u00a0KiB)<\/p>\n<p>lo\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Link\u00a0encap:Local\u00a0Loopback<\/p>\n<p>inet\u00a0addr:127.0.0.1\u00a0\u00a0Mask:255.0.0.0<\/p>\n<p>inet6\u00a0addr:\u00a0::1\/128\u00a0Scope:Host<\/p>\n<p>UP\u00a0LOOPBACK\u00a0RUNNING\u00a0\u00a0MTU:16436\u00a0\u00a0Metric:1<\/p>\n<p>RX\u00a0packets:0\u00a0errors:0\u00a0dropped:0\u00a0overruns:0\u00a0frame:0<\/p>\n<p>TX\u00a0packets:0\u00a0errors:0\u00a0dropped:0\u00a0overruns:0\u00a0carrier:0<\/p>\n<p>collisions:0\u00a0txqueuelen:0<\/p>\n<p>RX\u00a0bytes:0\u00a0(0.0\u00a0b)\u00a0\u00a0TX\u00a0bytes:0\u00a0(0.0\u00a0b)<\/p>\n<p>&nbsp;<\/p>\n<p>\u68c0\u67e5\u4f60\u7684\/ etc\/ resolv.conf \u5982\u679c\u5b83\u662f\u5426\u5217\u51fa\u4e86\u6240\u6709\u4f60\u4ee5\u524d\u914d\u7f6e\u7684\u57df\u540d\u670d\u52a1\u5668:<\/p>\n<p>[root@server1\u00a0~]#cat \/etc\/resolv.conf<\/p>\n<p>\u5982\u679c\u57df\u540d\u670d\u52a1\u5668\uff0c\u8fd0\u884c<\/p>\n<p>system-config-network<\/p>\n<p>\u5e76\u6dfb\u52a0\u7f3a\u5c11\u7684\u57df\u540d\u670d\u52a1\u5668\u3002<\/p>\n<p>\u73b0\u5728\uff0c\u5728\u914d\u7f6e&#8230;<\/p>\n<p>&nbsp;<\/p>\n<h3>4 \u8c03\u6574\/etc\/hosts<\/h3>\n<p>\u63a5\u4e0b\u6765\u6211\u4eec\u7f16\u8f91\/ etc\/ hosts\u6587\u4ef6\u3002\u4f7f\u5b83\u770b\u8d77\u6765\u50cf\u8fd9\u6837:<\/p>\n<p>vi \/etc\/hosts<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4<br>192.168.0.100   server1.example.com     server1<br><br>::1         localhost localhost.localdomain localhost6 localhost6.localdomain6<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>&nbsp;<\/p>\n<h3>5 \u914d\u7f6e\u9632\u706b\u5899<\/h3>\n<p>\uff08\u57fa\u672c\u7cfb\u7edf\u5b89\u88c5\u7ed3\u675f\u65f6\uff0c\u5982\u679c\u4f60\u5df2\u7ecf\u7981\u7528\u4e86\u9632\u706b\u5899\uff0c\u60a8\u53ef\u4ee5\u8df3\u8fc7\u8fd9\u4e00\u7ae0\uff09\u3002<\/p>\n<p>\u6211\u5e0c\u671b\uff0c\u5b89\u88c5ISPConfig\u672c\u6559\u7a0b\u7ed3\u675f\u65f6\uff0c\u5b83\u6709\u5176\u81ea\u5df1\u7684\u9632\u706b\u5899\u3002\u8fd9\u5c31\u662f\u4e3a\u4ec0\u4e48\u6211\u73b0\u5728\u7981\u7528\u9ed8\u8ba4\u7684CentOS\u7684\u9632\u706b\u5899\u3002\u5f53\u7136\uff0c\u4f60\u53ef\u4ee5\u81ea\u7531\u79bb\u5f00\u5b83\uff0c\u5e76\u5c06\u5b83\u914d\u7f6e\u60a8\u7684\u9700\u6c42\uff08\u4f46\u4f60\u4e0d\u5e94\u8be5\u4f7f\u7528\u4efb\u4f55\u5176\u4ed6\u7684\u9632\u706b\u5899\u4ee5\u540e\uff0c\u56e0\u4e3a\u5b83\u5f88\u53ef\u80fd\u4f1a\u5e72\u6270CentOS\u7684\u9632\u706b\u5899\uff09\u3002<\/p>\n<p>\u8fd0\u884c<\/p>\n<p>system-config-firewall<\/p>\n<p>\u7136\u540e\u7981\u7528\u9632\u706b\u5899.<\/p>\n<p>\u68c0\u67e5\u9632\u706b\u5899\u771f\u7684\u88ab\u7981\u7528\uff0c\u60a8\u53ef\u4ee5\u8fd0\u884c\uff1a<\/p>\n<p>iptables -L<\/p>\n<p>\u5982\u679c\u662f\uff0c\u8f93\u51fa\u5e94\u8be5\u662f\u8fd9\u6837\u7684\uff1a<\/p>\n<p>[root@server1\u00a0~]#\u00a0iptables\u00a0-L<\/p>\n<p>Chain\u00a0INPUT\u00a0(policy\u00a0ACCEPT)<\/p>\n<p>target\u00a0\u00a0\u00a0\u00a0\u00a0prot\u00a0opt\u00a0source\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0destination<\/p>\n<p>Chain\u00a0FORWARD\u00a0(policy\u00a0ACCEPT)<\/p>\n<p>target\u00a0\u00a0\u00a0\u00a0\u00a0prot\u00a0opt\u00a0source\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0destination<\/p>\n<p>Chain\u00a0OUTPUT\u00a0(policy\u00a0ACCEPT)<\/p>\n<p>target\u00a0\u00a0\u00a0\u00a0\u00a0prot\u00a0opt\u00a0source\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0destination<\/p>\n<p>[root@server1\u00a0~]#<\/p>\n<p>&nbsp;<\/p>\n<h3>6 \u7981\u7528SELinux<\/h3>\n<p>SELinux\u662f\u4e00\u4e2a\u5b89\u5168\u7684\u6269\u5c55\uff0cCentOS\u7684\uff0c\u5e94\u63d0\u4f9b\u6269\u5c55\u7684\u5b89\u5168\u6027\u3002\u5728\u6211\u770b\u6765\uff0c\u4f60\u5e76\u4e0d\u9700\u8981\u5b83\u6765\u914d\u7f6e\u4e00\u4e2a\u5b89\u5168\u7684\u7cfb\u7edf\uff0c\u5b83\u901a\u5e38\u4f1a\u5bfc\u81f4\u66f4\u591a\u7684\u95ee\u9898\u6bd4\u7684\u4f18\u52bf\uff08\u8ba4\u4e3a\u4f60\u505a\u4e86\u4e00\u4e2a\u661f\u671f\u540e\uff0c\u6545\u969c\u6392\u9664\uff0c\u56e0\u4e3a\u6709\u4e9b\u670d\u52a1\u4e0d\u80fd\u6b63\u5e38\u5de5\u4f5c\u7684\uff0c\u7136\u540e\u4f60\u53d1\u73b0\u4e00\u5207\u6b63\u5e38\uff0c\u53ea\u6709SELinux\u662f\u9020\u6210\u95ee\u9898\u7684\u539f\u56e0\uff09\u3002\u56e0\u6b64\uff0c\u6211\u5c06\u5176\u7981\u7528\uff08\u8fd9\u662f\u5fc5\u987b\u7684\uff0c\u5982\u679c\u4f60\u60f3\uff0c\u5b89\u88c5ISPConfig\u4ee5\u540e\uff09\u3002<\/p>\n<p>\u7f16\u8f91\u6587\u4ef6\uff1a\/etc\/selinux\/config \u5e76\u8bbe\u7f6e\uff1a SELINUX=disabled:<\/p>\n<p>vi \/etc\/selinux\/config<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre># This file controls the state of SELinux on the system.<br># SELINUX= can take one of these three values:<br>#     enforcing - SELinux security policy is enforced.<br>#     permissive - SELinux prints warnings instead of enforcing.<br>#     disabled - No SELinux policy is loaded.<br>SELINUX=disabled<br># SELINUXTYPE= can take one of these two values:<br>#     targeted - Targeted processes are protected,<br>#     mls - Multi Level Security protection.<br>SELINUXTYPE=targeted<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>\u4e4b\u540e\uff0c\u6211\u4eec\u5fc5\u987b\u91cd\u65b0\u542f\u52a8\u7cfb\u7edf\uff1a<\/p>\n<p>reboot<\/p>\n<p>&nbsp;<\/p>\n<h3>7\u542f\u7528\u989d\u5916\u7684\u8d44\u6599\u5e93\u548c\u5b89\u88c5\u4e00\u4e9b\u8f6f\u4ef6<\/h3>\n<p>\u9996\u5148\uff0c\u6211\u4eec\u5bfc\u5165GPG keys\u8f6f\u4ef6\u5305:<\/p>\n<p>rpm &#8211;import \/etc\/pki\/rpm-gpg\/RPM-GPG-KEY*<\/p>\n<p>\u5728\u672c\u6559\u7a0b\u4e2d\uff0c\u6211\u4eec\u9700\u8981\u5b89\u88c5\u7684\u8f6f\u4ef6\u5305\u56e0\u4e3a\u5b98\u65b9\u7684CentOS6.3\u5e93\u8bb8\u591a\u4e0d\u5177\u5907\uff0c\u6240\u4ee5\u8981\u542f\u7528RPMforge\u548cEPEL\u5e93:<\/p>\n<p>rpm &#8211;import http:\/\/dag.wieers.com\/rpm\/packages\/RPM-GPG-KEY.dag.txt<br \/>rpm -ivh http:\/\/pkgs.repoforge.org\/rpmforge-release\/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm<\/p>\n<p>(\u5982\u679c\u4e0a\u9762\u7684\u94fe\u63a5\u4e0d\u5de5\u4f5c\u4e86\uff0c\u4f60\u53ef\u4ee5\u627e\u5230\u6700\u65b0\u7684\u7248\u672crpmforge\u7684\u53d1\u884c\u7248\uff1a<a href=\"http:\/\/packages.sw.be\/rpmforge-release\/\" target=\"_blank\">http:\/\/packages.sw.be\/rpmforge-release\/<\/a>)<\/p>\n<p>rpm &#8211;import https:\/\/fedoraproject.org\/static\/0608B895.txt<\/p>\n<p>rpm -ivh http:\/\/dl.fedoraproject.org\/pub\/epel\/6\/x86_64\/epel-release-6-7.noarch.rpm<\/p>\n<p>\u6211\u4eec\u8fd8\u9700\u8981\u542f\u7528\u00a0<a href=\"http:\/\/rpms.famillecollet.com\/\" target=\"_blank\">Remi RPM<\/a>\u00a0\u5e93\uff0c \u5176\u4e2d\u5305\u542bPHP-FPM\u5c01\u88c5\uff0c\u6211\u4eec\u5c06\u5728\u7a0d\u540e\u5b89\u88c5\uff1a<\/p>\n<p>rpm &#8211;import http:\/\/rpms.famillecollet.com\/RPM-GPG-KEY-remi<\/p>\n<p>rpm -ivh http:\/\/rpms.famillecollet.com\/enterprise\/remi-release-6.rpm<\/p>\n<p>yum install yum-priorities<\/p>\n<p>vi \/etc\/yum.repos.d\/epel.repo<\/p>\n<p>&#8230;\u00a0\u5e76\u6dfb\u52a0\u884c priority=10 \u5230 [epel] \u90e8\u5206:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[epel]<br>name=Extra Packages for Enterprise Linux 6 - $basearch<br>#baseurl=http:\/\/download.fedoraproject.org\/pub\/epel\/6\/$basearch<br>mirrorlist=https:\/\/mirrors.fedoraproject.org\/metalink?repo=epel-6&amp;arch=$basearch<br>failovermethod=priority<br>enabled=1<br>priority=10<br>gpgcheck=1<br>gpgkey=file:\/\/\/etc\/pki\/rpm-gpg\/RPM-GPG-KEY-EPEL-6<br>[...]<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>\u7136\u540e\u505a\u540c\u6837\u7684[remi]\u90e8\u5206\u5728 \/etc\/yum.repos.d\/remi.repo, \u8bbe\u7f6eenabled=1:<\/p>\n<p>vi \/etc\/yum.repos.d\/remi.repo<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[remi]<br>name=Les RPM de remi pour Enterprise Linux $releasever - $basearch<br>#baseurl=http:\/\/rpms.famillecollet.com\/enterprise\/$releasever\/remi\/$basearch\/<br>mirrorlist=http:\/\/rpms.famillecollet.com\/enterprise\/$releasever\/remi\/mirror<br>enabled=1<br>priority=10<br>gpgcheck=1<br>gpgkey=file:\/\/\/etc\/pki\/rpm-gpg\/RPM-GPG-KEY-remi<br>failovermethod=priority<br><br>[remi-test]<br>name=Les RPM de remi en test pour Enterprise Linux $releasever - $basearch<br>#baseurl=http:\/\/rpms.famillecollet.com\/enterprise\/$releasever\/test\/$basearch\/<br>mirrorlist=http:\/\/rpms.famillecollet.com\/enterprise\/$releasever\/test\/mirror<br>enabled=0<br>gpgcheck=1<br>gpgkey=file:\/\/\/etc\/pki\/rpm-gpg\/RPM-GPG-KEY-remi<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>\u7136\u540e\uff0c\u6211\u4eec\u66f4\u65b0\u6211\u4eec\u73b0\u6709\u7684\u7cfb\u7edf\u4e0a\u7684\u8f6f\u4ef6\u5305\uff1a<\/p>\n<p>yum update<\/p>\n<p>\u73b0\u5728\uff0c\u6211\u4eec\u4ee5\u540e\u9700\u8981\u5b89\u88c5\u4e00\u4e9b\u8f6f\u4ef6\u5305\uff1a<\/p>\n<p>yum groupinstall &#8216;Development Tools&#8217;<\/p>\n<p>&nbsp;<\/p>\n<h3>8 Quota<\/h3>\n<p>(If you have chosen a different partitioning scheme than I did, you must adjust this chapter so that quota applies to the partitions where you need it.)<\/p>\n<p>To install quota, we run this command:<\/p>\n<p>yum install quota<\/p>\n<p>Edit \/etc\/fstab and add ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 to the \/ partition (\/dev\/mapper\/vg_server1-lv_root):<\/p>\n<p>vi \/etc\/fstab<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>#<br># \/etc\/fstab<br># Created by anaconda on Wed Jul 11 17:52:57 2012<br>#<br># Accessible filesystems, by reference, are maintained under '\/dev\/disk'<br># See man pages fstab(5), findfs(8), mount(8) and\/or blkid(8) for more info<br>#<br>\/dev\/mapper\/vg_server1-lv_root \/                       ext4    defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0        1 1<br>UUID=806910a1-dbdf-4746-bd94-cbe73ce81493 \/boot                   ext4    defaults        1 2<br>\/dev\/mapper\/vg_server1-lv_swap swap                    swap    defaults        0 0<br>tmpfs                   \/dev\/shm                tmpfs   defaults        0 0<br>devpts                  \/dev\/pts                devpts  gid=5,mode=620  0 0<br>sysfs                   \/sys                    sysfs   defaults        0 0<br>proc                    \/proc                   proc    defaults        0 0<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>Then run<\/p>\n<p>mount -o remount \/<\/p>\n<p>quotacheck -avugm<\/p>\n<p>quotaon -avug<\/p>\n<p>to enable quota.<\/p>\n<p>&nbsp;<\/p>\n<h3>9 Synchronize The System Clock<\/h3>\n<p>It is a good idea to synchronize the system clock with an NTP (<strong>n<\/strong>etwork <strong>t<\/strong>ime <strong>p<\/strong>rotocol) server over the Internet. Simply run<\/p>\n<p>yum install ntp<\/p>\n<p>and your system time will always be in sync.<\/p>\n<p>&nbsp;<\/p>\n<h3>10 Install MySQL<\/h3>\n<p>Install MySQL as follows:<\/p>\n<p>yum install mysql mysql-server<\/p>\n<p>Then create the system startup links for MySQL and start it:<\/p>\n<p>chkconfig &#8211;levels 235 mysqld on<\/p>\n<p>\/etc\/init.d\/mysqld start<\/p>\n<p>Set passwords for the MySQL root account:<\/p>\n<p>mysql_secure_installation<\/p>\n<p>[root@server1\u00a0tmp]#\u00a0mysql_secure_installation<\/p>\n<p>NOTE:\u00a0RUNNING\u00a0ALL\u00a0PARTS\u00a0OF\u00a0THIS\u00a0SCRIPT\u00a0IS\u00a0RECOMMENDED\u00a0FOR\u00a0ALL\u00a0MySQL<\/p>\n<p>SERVERS\u00a0IN\u00a0PRODUCTION\u00a0USE!\u00a0\u00a0PLEASE\u00a0READ\u00a0EACH\u00a0STEP\u00a0CAREFULLY!<\/p>\n<p>In\u00a0order\u00a0to\u00a0log\u00a0into\u00a0MySQL\u00a0to\u00a0secure\u00a0it,\u00a0we&#8217;ll\u00a0need\u00a0the\u00a0current<\/p>\n<p>password\u00a0for\u00a0the\u00a0root\u00a0user.\u00a0\u00a0If\u00a0you&#8217;ve\u00a0just\u00a0installed\u00a0MySQL,\u00a0and<\/p>\n<p>you\u00a0haven&#8217;t\u00a0set\u00a0the\u00a0root\u00a0password\u00a0yet,\u00a0the\u00a0password\u00a0will\u00a0be\u00a0blank,<\/p>\n<p>so\u00a0you\u00a0should\u00a0just\u00a0press\u00a0enter\u00a0here.<\/p>\n<p>Enter\u00a0current\u00a0password\u00a0for\u00a0root\u00a0(enter\u00a0for\u00a0none):<\/p>\n<p>OK,\u00a0successfully\u00a0used\u00a0password,\u00a0moving\u00a0on&#8230;<\/p>\n<p>Setting\u00a0the\u00a0root\u00a0password\u00a0ensures\u00a0that\u00a0nobody\u00a0can\u00a0log\u00a0into\u00a0the\u00a0MySQL<\/p>\n<p>root\u00a0user\u00a0without\u00a0the\u00a0proper\u00a0authorisation.<\/p>\n<p>Set\u00a0root\u00a0password?\u00a0[Y\/n]\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>New\u00a0password:\u00a0&lt;&#8211;\u00a0yourrootsqlpassword<\/p>\n<p>Re-enter\u00a0new\u00a0password:\u00a0&lt;&#8211;\u00a0yourrootsqlpassword<\/p>\n<p>Password\u00a0updated\u00a0successfully!<\/p>\n<p>Reloading\u00a0privilege\u00a0tables..<\/p>\n<p>&#8230;\u00a0Success!<\/p>\n<p>By\u00a0default,\u00a0a\u00a0MySQL\u00a0installation\u00a0has\u00a0an\u00a0anonymous\u00a0user,\u00a0allowing\u00a0anyone<\/p>\n<p>to\u00a0log\u00a0into\u00a0MySQL\u00a0without\u00a0having\u00a0to\u00a0have\u00a0a\u00a0user\u00a0account\u00a0created\u00a0for<\/p>\n<p>them.\u00a0\u00a0This\u00a0is\u00a0intended\u00a0only\u00a0for\u00a0testing,\u00a0and\u00a0to\u00a0make\u00a0the\u00a0installation<\/p>\n<p>go\u00a0a\u00a0bit\u00a0smoother.\u00a0\u00a0You\u00a0should\u00a0remove\u00a0them\u00a0before\u00a0moving\u00a0into\u00a0a<\/p>\n<p>production\u00a0environment.<\/p>\n<p>Remove\u00a0anonymous\u00a0users?\u00a0[Y\/n]\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>&#8230;\u00a0Success!<\/p>\n<p>Normally,\u00a0root\u00a0should\u00a0only\u00a0be\u00a0allowed\u00a0to\u00a0connect\u00a0from\u00a0&#8216;localhost&#8217;.\u00a0\u00a0This<\/p>\n<p>ensures\u00a0that\u00a0someone\u00a0cannot\u00a0guess\u00a0at\u00a0the\u00a0root\u00a0password\u00a0from\u00a0the\u00a0network.<\/p>\n<p>Disallow\u00a0root\u00a0login\u00a0remotely?\u00a0[Y\/n]\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>&#8230;\u00a0Success!<\/p>\n<p>By\u00a0default,\u00a0MySQL\u00a0comes\u00a0with\u00a0a\u00a0database\u00a0named\u00a0&#8216;test&#8217;\u00a0that\u00a0anyone\u00a0can<\/p>\n<p>access.\u00a0\u00a0This\u00a0is\u00a0also\u00a0intended\u00a0only\u00a0for\u00a0testing,\u00a0and\u00a0should\u00a0be\u00a0removed<\/p>\n<p>before\u00a0moving\u00a0into\u00a0a\u00a0production\u00a0environment.<\/p>\n<p>Remove\u00a0test\u00a0database\u00a0and\u00a0access\u00a0to\u00a0it?\u00a0[Y\/n]\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>&#8211;\u00a0Dropping\u00a0test\u00a0database&#8230;<\/p>\n<p>&#8230;\u00a0Success!<\/p>\n<p>&#8211;\u00a0Removing\u00a0privileges\u00a0on\u00a0test\u00a0database&#8230;<\/p>\n<p>&#8230;\u00a0Success!<\/p>\n<p>Reloading\u00a0the\u00a0privilege\u00a0tables\u00a0will\u00a0ensure\u00a0that\u00a0all\u00a0changes\u00a0made\u00a0so\u00a0far<\/p>\n<p>will\u00a0take\u00a0effect\u00a0immediately.<\/p>\n<p>Reload\u00a0privilege\u00a0tables\u00a0now?\u00a0[Y\/n]\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>&#8230;\u00a0Success!<\/p>\n<p>Cleaning\u00a0up&#8230;<\/p>\n<p>All\u00a0done!\u00a0\u00a0If\u00a0you&#8217;ve\u00a0completed\u00a0all\u00a0of\u00a0the\u00a0above\u00a0steps,\u00a0your\u00a0MySQL<\/p>\n<p>installation\u00a0should\u00a0now\u00a0be\u00a0secure.<\/p>\n<p>Thanks\u00a0for\u00a0using\u00a0MySQL!<\/p>\n<p>[root@server1\u00a0tmp]#<\/p>\n<p>&nbsp;<\/p>\n<h3>11 Install Dovecot<\/h3>\n<p><\/p>\n<div><\/div>\n<p>Dovecot can be installed as follows:<\/p>\n<p>yum install dovecot dovecot-mysql<\/p>\n<p>Now create the system startup links and start Dovecot:<\/p>\n<p>chkconfig &#8211;levels 235 dovecot on<\/p>\n<p>\/etc\/init.d\/dovecot start<\/p>\n<p>&nbsp;<\/p>\n<h3>12 Install Postfix<\/h3>\n<p>Postfix can be installed as follows:<\/p>\n<p>yum install postfix<\/p>\n<p>Then turn off Sendmail and start Postfix:<\/p>\n<p>chkconfig &#8211;levels 235 sendmail off<\/p>\n<p>chkconfig &#8211;levels 235 postfix on<\/p>\n<p>\/etc\/init.d\/sendmail stop<\/p>\n<p>\/etc\/init.d\/postfix restart<\/p>\n<p>&nbsp;<\/p>\n<h3>13 Install Getmail<\/h3>\n<p>Getmail can be installed as follows:<\/p>\n<p>yum install getmail<\/p>\n<p>&nbsp;<\/p>\n<h3>14 Install Amavisd-new, SpamAssassin, And ClamAV<\/h3>\n<p>To install amavisd-new, spamassassin and clamav, run the following command:<\/p>\n<p>yum install amavisd-new spamassassin clamav clamd unzip bzip2 unrar perl-DBD-mysql<\/p>\n<p>Then we start freshclam, amavisd, and clamd.amavisd:<\/p>\n<p>sa-update<\/p>\n<p>chkconfig &#8211;levels 235 amavisd on<\/p>\n<p>chkconfig &#8211;del clamd<\/p>\n<p>chkconfig &#8211;levels 235 clamd.amavisd on<\/p>\n<p>\/usr\/bin\/freshclam<\/p>\n<p>\/etc\/init.d\/amavisd start<\/p>\n<p>\/etc\/init.d\/clamd.amavisd start<\/p>\n<p>&nbsp;<\/p>\n<h3>15 Install Nginx, PHP5 (PHP-FPM), And Fcgiwrap<\/h3>\n<p>Nginx is available as a package for CentOS 6.3 (from EPEL) which we can install as follows:<\/p>\n<p>yum install nginx<\/p>\n<p>If Apache2 is already installed on the system, stop it now&#8230;<\/p>\n<p>\/etc\/init.d\/httpd stop<\/p>\n<p>&#8230; and remove Apache&#8217;s system startup links:<\/p>\n<p>chkconfig &#8211;del httpd<\/p>\n<p>Then we create the system startup links for nginx and start it:<\/p>\n<p>chkconfig &#8211;levels 235 nginx on<\/p>\n<p>\/etc\/init.d\/nginx start<\/p>\n<p>(If both Apache2 and nginx are installed, the ISPConfig 3 installer will ask you which one you want to use &#8211; answer nginx in this case. If only one of these both is installed, ISPConfig will do the necessary configuration automatically.)<\/p>\n<p>We can make PHP5 work in nginx through <a href=\"http:\/\/php-fpm.org\/\" target=\"_blank\">PHP-FPM<\/a> (PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites). We can install php-fpm together with php-cli and some PHP5 modules like php-mysql which you need if you want to use MySQL from your PHP scripts as follows:<\/p>\n<p>yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy<\/p>\n<p>Next we open \/etc\/php.ini&#8230;<\/p>\n<p>vi \/etc\/php.ini<\/p>\n<p>&#8230; and change the error reporting (so that notices aren&#8217;t shown any longer):<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[...]<br>;error_reporting = E_ALL &amp; ~E_DEPRECATED<br>error_reporting = E_ALL &amp; ~E_NOTICE<br>[...]<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>Also set cgi.fix_pathinfo=0:<\/p>\n<p>vi \/etc\/php.ini<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[...]<br>; cgi.fix_pathinfo provides *real* PATH_INFO\/PATH_TRANSLATED support for CGI.  PHP's<br>; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok<br>; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting<br>; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting<br>; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts<br>; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.<br>; http:\/\/www.php.net\/manual\/en\/ini.core.php#ini.cgi.fix-pathinfo<br>cgi.fix_pathinfo=0<br>[...]<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>(Please read <a href=\"http:\/\/wiki.nginx.org\/Pitfalls\" target=\"_blank\">http:\/\/wiki.nginx.org\/Pitfalls<\/a> to find out why you should do this.)<\/p>\n<p>In addition to that, in order to avoid errors like<\/p>\n<p>[08-Aug-2011 18:07:08] PHP Warning: phpinfo(): It is not safe to rely on the system&#8217;s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected &#8216;Europe\/Berlin&#8217; for &#8216;CEST\/2.0\/DST&#8217; instead in \/usr\/share\/nginx\/html\/info.php on line 2<\/p>\n<p>&#8230; in \/var\/log\/php-fpm\/www-error.log when you call a PHP script in your browser, you should set date.timezone in \/etc\/php.ini:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[...]<br>[Date]<br>; Defines the default timezone used by the date functions<br>; http:\/\/www.php.net\/manual\/en\/datetime.configuration.php#ini.date.timezone<br>date.timezone = \"Europe\/Berlin\"<br>[...]<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>You can find out the correct timezone for your system by running:<\/p>\n<p>cat \/etc\/sysconfig\/clock<\/p>\n<p>[root@server1 tmp]# cat \/etc\/sysconfig\/clock<\/p>\n<p>ZONE=&#8221;Europe\/Berlin&#8221;<\/p>\n<p>[root@server1 tmp]#<\/p>\n<p>Next create the system startup links for php-fpm and start it:<\/p>\n<p>chkconfig &#8211;levels 235 php-fpm on<\/p>\n<p>\/etc\/init.d\/php-fpm start<\/p>\n<p>PHP-FPM is a daemon process (with the init script \/etc\/init.d\/php-fpm) that runs a FastCGI server on port 9000.<\/p>\n<p>To get CGI support in nginx, we install Fcgiwrap.<\/p>\n<p><a href=\"http:\/\/wiki.nginx.org\/Fcgiwrap\" target=\"_blank\">Fcgiwrap<\/a> is a CGI wrapper that should work also for complex CGI scripts and can be used for shared hosting environments because it allows each vhost to use its own cgi-bin directory.<\/p>\n<p>As there&#8217;s no fcgiwrap package for CentOS 6.3, we must build it ourselves. First we install some prerequisites:<\/p>\n<p>yum install fcgi-devel<\/p>\n<p>Now we can build fcgiwrap as follows:<\/p>\n<p>cd \/usr\/local\/src\/<\/p>\n<p>git clone git:\/\/github.com\/gnosek\/fcgiwrap.git<\/p>\n<p>cd fcgiwrap<\/p>\n<p>autoreconf -i<\/p>\n<p>.\/configure<\/p>\n<p>make<\/p>\n<p>make install<\/p>\n<p>This installs fcgiwrap to \/usr\/local\/sbin\/fcgiwrap.<\/p>\n<p>Next we install the spawn-fcgi package which allows us to run fcgiwrap as a daemon:<\/p>\n<p>yum install spawn-fcgi<\/p>\n<p>Open \/etc\/sysconfig\/spawn-fcgi&#8230;<\/p>\n<p>vi \/etc\/sysconfig\/spawn-fcgi<\/p>\n<p>&#8230; and modify the file as follows:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre># You must set some working options before the \"spawn-fcgi\" service will work.<br># If SOCKET points to a file, then this file is cleaned up by the init script.<br>#<br># See spawn-fcgi(1) for all possible options.<br>#<br># Example :<br>#SOCKET=\/var\/run\/php-fcgi.sock<br>#OPTIONS=\"-u apache -g apache -s $SOCKET -S -M 0600 -C 32 -F 1 -P \/var\/run\/spawn-fcgi.pid -- \/usr\/bin\/php-cgi\"<br><br>FCGI_SOCKET=\/var\/run\/fcgiwrap.socket<br>FCGI_PROGRAM=\/usr\/local\/sbin\/fcgiwrap<br>FCGI_USER=apache<br>FCGI_GROUP=apache<br>FCGI_EXTRA_OPTIONS=\"-M 0770\"<br>OPTIONS=\"-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P \/var\/run\/spawn-fcgi.pid -- $FCGI_PROGRAM\"<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>Now add the user nginx to the group apache:<\/p>\n<p>usermod -a -G apache nginx<\/p>\n<p>Create the system startup links for spawn-fcgi&#8230;<\/p>\n<p>chkconfig &#8211;levels 235 spawn-fcgi on<\/p>\n<p>&#8230; and start it as follows:<\/p>\n<p>\/etc\/init.d\/spawn-fcgi start<\/p>\n<p>You should now find the fcgiwrap socket in \/var\/run\/fcgiwrap.socket, owned by the user and group apache (some scripts, e.g. Mailman, expect to be run by the user\/group apache, that&#8217;s why we don&#8217;t run spawn-fcgi as user\/group nginx, but instead add nginx to the apache group).<\/p>\n<p>&nbsp;<\/p>\n<h3>16 Install phpMyAdmin<\/h3>\n<p><\/p>\n<div><\/div>\n<p>Next we install phpMyAdmin:<\/p>\n<p>yum install phpmyadmin<\/p>\n<p>Next we change the authentication in phpMyAdmin from cookie to http:<\/p>\n<p>vi \/usr\/share\/phpmyadmin\/config.inc.php<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[...]<br>\/* Authentication type *\/<br>$cfg['Servers'][$i]['auth_type'] = 'http';<br>[...]<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>You can now find phpMyAdmin in the \/usr\/share\/phpmyadmin\/ directory.<\/p>\n<p>After you have installed ISPConfig 3, you can access phpMyAdmin as follows:<\/p>\n<p>The ISPConfig apps vhost on port 8081 for nginx comes with a phpMyAdmin configuration, so you can use http:\/\/server1.example.com:8081\/phpmyadmin or http:\/\/server1.example.com:8081\/phpMyAdmin to access phpMyAdmin.<\/p>\n<p>If you want to use a \/phpmyadmin or \/phpMyAdmin alias that you can use from your web sites, this is a bit more complicated than for Apache because nginx does not have global aliases (i.e., aliases that can be defined for all vhosts). Therefore you have to define these aliases for <strong>each<\/strong> vhost from which you want to access phpMyAdmin.<\/p>\n<p>To do this, paste the following into the nginx Directives field on the Options tab of the web site in ISPConfig:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>        location \/phpmyadmin {<br>               root \/usr\/share\/;<br>               index index.php index.html index.htm;<br>               location ~ ^\/phpmyadmin\/(.+\\.php)$ {<br>                       try_files $uri =404;<br>                       root \/usr\/share\/;<br>                       fastcgi_pass 127.0.0.1:9000;<br>                       fastcgi_index index.php;<br>                       fastcgi_param SCRIPT_FILENAME $request_filename;<br>                       include \/etc\/nginx\/fastcgi_params;<br>                       fastcgi_param PATH_INFO $fastcgi_script_name;<br>                       fastcgi_buffer_size 128k;<br>                       fastcgi_buffers 256 4k;<br>                       fastcgi_busy_buffers_size 256k;<br>                       fastcgi_temp_file_write_size 256k;<br>                       fastcgi_intercept_errors on;<br>               }<br>               location ~* ^\/phpmyadmin\/(.+\\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {<br>                       root \/usr\/share\/;<br>               }<br>        }<br>        location \/phpMyAdmin {<br>               rewrite ^\/* \/phpmyadmin last;<br>        }<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>If you use http<strong>s<\/strong> instead of http for your vhost, you should add the line fastcgi_param HTTPS on; to your phpMyAdmin configuration like this:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>        location \/phpmyadmin {<br>               root \/usr\/share\/;<br>               index index.php index.html index.htm;<br>               location ~ ^\/phpmyadmin\/(.+\\.php)$ {<br>                       try_files $uri =404;<br>                       root \/usr\/share\/;<br>                       fastcgi_pass 127.0.0.1:9000;<br>                       fastcgi_param HTTPS on; # &lt;-- add this line<br>                       fastcgi_index index.php;<br>                       fastcgi_param SCRIPT_FILENAME $request_filename;<br>                       include \/etc\/nginx\/fastcgi_params;<br>                       fastcgi_param PATH_INFO $fastcgi_script_name;<br>                       fastcgi_buffer_size 128k;<br>                       fastcgi_buffers 256 4k;<br>                       fastcgi_busy_buffers_size 256k;<br>                       fastcgi_temp_file_write_size 256k;<br>                       fastcgi_intercept_errors on;<br>               }<br>               location ~* ^\/phpmyadmin\/(.+\\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {<br>                       root \/usr\/share\/;<br>               }<br>        }<br>        location \/phpMyAdmin {<br>               rewrite ^\/* \/phpmyadmin last;<br>        }<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>If you use both http and https for your vhost, you need to add the following section to the http {} section in \/etc\/nginx\/nginx.conf (before any include lines) which determines if the visitor uses http or https and sets the $fastcgi_https variable (which we will use in our phpMyAdmin configuration) accordingly:<\/p>\n<p>vi \/etc\/nginx\/nginx.conf<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[...]<br>http {<br>[...]<br>    ## Detect when HTTPS is used<br>    map $scheme $fastcgi_https {<br>      default off;<br>      https on;<br>    }<br>[...]<br>}<br>[...]<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>Don&#8217;t forget to reload nginx afterwards:<\/p>\n<p>\/etc\/init.d\/nginx reload<\/p>\n<p>Then go to the nginx Directives field again, and instead of fastcgi_param HTTPS on; you add the line fastcgi_param HTTPS $fastcgi_https; so that you can use phpMyAdmin for both http and https requests:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>        location \/phpmyadmin {<br>               root \/usr\/share\/;<br>               index index.php index.html index.htm;<br>               location ~ ^\/phpmyadmin\/(.+\\.php)$ {<br>                       try_files $uri =404;<br>                       root \/usr\/share\/;<br>                       fastcgi_pass 127.0.0.1:9000;<br>                       fastcgi_param HTTPS $fastcgi_https; # &lt;-- add this line<br>                       fastcgi_index index.php;<br>                       fastcgi_param SCRIPT_FILENAME $request_filename;<br>                       include \/etc\/nginx\/fastcgi_params;<br>                       fastcgi_param PATH_INFO $fastcgi_script_name;<br>                       fastcgi_buffer_size 128k;<br>                       fastcgi_buffers 256 4k;<br>                       fastcgi_busy_buffers_size 256k;<br>                       fastcgi_temp_file_write_size 256k;<br>                       fastcgi_intercept_errors on;<br>               }<br>               location ~* ^\/phpmyadmin\/(.+\\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {<br>                       root \/usr\/share\/;<br>               }<br>        }<br>        location \/phpMyAdmin {<br>               rewrite ^\/* \/phpmyadmin last;<br>        }<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>&nbsp;<\/p>\n<h3>17 Install Mailman<\/h3>\n<p>Since version 3.0.4, ISPConfig also allows you to manage (create\/modify\/delete) Mailman mailing lists. If you want to make use of this feature, install Mailman as follows:<\/p>\n<p>yum install mailman<\/p>\n<p>Before we can start Mailman, a first mailing list called mailman must be created:<\/p>\n<p>\/usr\/lib\/mailman\/bin\/newlist mailman<\/p>\n<p>[root@server1\u00a0tmp]#\u00a0\/usr\/lib\/mailman\/bin\/newlist\u00a0mailman<\/p>\n<p>Enter\u00a0the\u00a0email\u00a0of\u00a0the\u00a0person\u00a0running\u00a0the\u00a0list:\u00a0&lt;&#8211;\u00a0admin\u00a0email\u00a0address,\u00a0e.g.\u00a0listadmin@example.com<\/p>\n<p>Initial\u00a0mailman\u00a0password:\u00a0&lt;&#8211;\u00a0admin\u00a0password\u00a0for\u00a0the\u00a0mailman\u00a0list<\/p>\n<p>To\u00a0finish\u00a0creating\u00a0your\u00a0mailing\u00a0list,\u00a0you\u00a0must\u00a0edit\u00a0your\u00a0\/etc\/aliases\u00a0(or<\/p>\n<p>equivalent)\u00a0file\u00a0by\u00a0adding\u00a0the\u00a0following\u00a0lines,\u00a0and\u00a0possibly\u00a0running\u00a0the<\/p>\n<p>`newaliases&#8217;\u00a0program:<\/p>\n<p>##\u00a0mailman\u00a0mailing\u00a0list<\/p>\n<p>mailman:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;|\/usr\/lib\/mailman\/mail\/mailman\u00a0post\u00a0mailman&#8221;<\/p>\n<p>mailman-admin:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;|\/usr\/lib\/mailman\/mail\/mailman\u00a0admin\u00a0mailman&#8221;<\/p>\n<p>mailman-bounces:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;|\/usr\/lib\/mailman\/mail\/mailman\u00a0bounces\u00a0mailman&#8221;<\/p>\n<p>mailman-confirm:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;|\/usr\/lib\/mailman\/mail\/mailman\u00a0confirm\u00a0mailman&#8221;<\/p>\n<p>mailman-join:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;|\/usr\/lib\/mailman\/mail\/mailman\u00a0join\u00a0mailman&#8221;<\/p>\n<p>mailman-leave:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;|\/usr\/lib\/mailman\/mail\/mailman\u00a0leave\u00a0mailman&#8221;<\/p>\n<p>mailman-owner:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;|\/usr\/lib\/mailman\/mail\/mailman\u00a0owner\u00a0mailman&#8221;<\/p>\n<p>mailman-request:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;|\/usr\/lib\/mailman\/mail\/mailman\u00a0request\u00a0mailman&#8221;<\/p>\n<p>mailman-subscribe:\u00a0\u00a0\u00a0\u00a0&#8220;|\/usr\/lib\/mailman\/mail\/mailman\u00a0subscribe\u00a0mailman&#8221;<\/p>\n<p>mailman-unsubscribe:\u00a0\u00a0&#8220;|\/usr\/lib\/mailman\/mail\/mailman\u00a0unsubscribe\u00a0mailman&#8221;<\/p>\n<p>Hit\u00a0enter\u00a0to\u00a0notify\u00a0mailman\u00a0owner&#8230;\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>[root@server1\u00a0tmp]#<\/p>\n<p>Open \/etc\/aliases afterwards&#8230;<\/p>\n<p>vi \/etc\/aliases<\/p>\n<p>&#8230; and add the following lines:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[...]<br>mailman:              \"|\/usr\/lib\/mailman\/mail\/mailman post mailman\"<br>mailman-admin:        \"|\/usr\/lib\/mailman\/mail\/mailman admin mailman\"<br>mailman-bounces:      \"|\/usr\/lib\/mailman\/mail\/mailman bounces mailman\"<br>mailman-confirm:      \"|\/usr\/lib\/mailman\/mail\/mailman confirm mailman\"<br>mailman-join:         \"|\/usr\/lib\/mailman\/mail\/mailman join mailman\"<br>mailman-leave:        \"|\/usr\/lib\/mailman\/mail\/mailman leave mailman\"<br>mailman-owner:        \"|\/usr\/lib\/mailman\/mail\/mailman owner mailman\"<br>mailman-request:      \"|\/usr\/lib\/mailman\/mail\/mailman request mailman\"<br>mailman-subscribe:    \"|\/usr\/lib\/mailman\/mail\/mailman subscribe mailman\"<br>mailman-unsubscribe:  \"|\/usr\/lib\/mailman\/mail\/mailman unsubscribe mailman\"<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>Run<\/p>\n<p>newaliases<\/p>\n<p>afterwards and restart Postfix:<\/p>\n<p>\/etc\/init.d\/postfix restart<\/p>\n<p>Create the system startup links for Mailman and start it:<\/p>\n<p>chkconfig &#8211;levels 235 mailman on<\/p>\n<p>\/etc\/init.d\/mailman start<\/p>\n<p>Now we need to create this symlink to make Mailman work with ISPConfig:<\/p>\n<p>cd \/usr\/lib\/mailman\/cgi-bin\/<\/p>\n<p>ln -s .\/ mailman<\/p>\n<p>If you want to use Mailman from your web sites created through ISPConfig, this is a bit more complicated than for Apache because nginx does not have global aliases (i.e., aliases that can be defined for all vhosts). Therefore you have to define these aliases for <strong>each<\/strong> vhost from which you want to access Mailman.<\/p>\n<p>To do this, paste the following into the nginx Directives field on the Options tab of the web site in ISPConfig:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>        location \/cgi-bin\/mailman {<br>               alias \/usr\/lib\/mailman\/cgi-bin;<br>               fastcgi_split_path_info (^\/cgi-bin\/mailman\/[^\/]*)(.*)$;<br>               include \/etc\/nginx\/fastcgi_params;<br>               fastcgi_param SCRIPT_FILENAME \/usr\/lib\/mailman$fastcgi_script_name;<br>               fastcgi_param PATH_INFO $fastcgi_path_info;<br>               fastcgi_param PATH_TRANSLATED \/usr\/lib\/mailman$fastcgi_path_info;<br>               fastcgi_intercept_errors on;<br>               fastcgi_pass unix:\/var\/run\/fcgiwrap.socket;<br>        }<br><br>        location \/images\/mailman {<br>               alias \/usr\/lib\/mailman\/icons;<br>        }<br><br>        location \/pipermail {<br>               alias \/var\/lib\/mailman\/archives\/public;<br>               autoindex on;<br>        }<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>This defines the alias \/cgi-bin\/mailman\/ for your vhost, which means you can access the Mailman admin interface for a list at http:\/\/&lt;vhost&gt;\/cgi-bin\/mailman\/admin\/&lt;listname&gt;, and the web page for users of a mailing list can be found at http:\/\/&lt;vhost&gt;\/cgi-bin\/mailman\/listinfo\/&lt;listname&gt;.<\/p>\n<p>Under http:\/\/&lt;vhost&gt;\/pipermail you can find the mailing list archives.<\/p>\n<p>&nbsp;<\/p>\n<h3>18 Install PureFTPd<\/h3>\n<p>PureFTPd can be installed with the following command:<\/p>\n<p>yum install pure-ftpd<\/p>\n<p>Then create the system startup links and start PureFTPd:<\/p>\n<p>chkconfig &#8211;levels 235 pure-ftpd on<\/p>\n<p>\/etc\/init.d\/pure-ftpd start<\/p>\n<p>Now we configure PureFTPd to allow FTP and TLS sessions. FTP is a very insecure protocol because all passwords and all data are transferred in clear text. By using TLS, the whole communication can be encrypted, thus making FTP much more secure.<\/p>\n<p>OpenSSL is needed by TLS; to install OpenSSL, we simply run:<\/p>\n<p>yum install openssl<\/p>\n<p>Open \/etc\/pure-ftpd\/pure-ftpd.conf&#8230;<\/p>\n<p>vi \/etc\/pure-ftpd\/pure-ftpd.conf<\/p>\n<p>If you want to allow FTP and TLS sessions, set TLS to 1:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[...]<br># This option can accept three values :<br># 0 : disable SSL\/TLS encryption layer (default).<br># 1 : accept both traditional and encrypted sessions.<br># 2 : refuse connections that don't use SSL\/TLS security mechanisms,<br>#     including anonymous sessions.<br># Do _not_ uncomment this blindly. Be sure that :<br># 1) Your server has been compiled with SSL\/TLS support (--with-tls),<br># 2) A valid certificate is in place,<br># 3) Only compatible clients will log in.<br><br>TLS                      1<br>[...]<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>In order to use TLS, we must create an SSL certificate. I create it in \/etc\/ssl\/private\/, therefore I create that directory first:<\/p>\n<p>mkdir -p \/etc\/ssl\/private\/<\/p>\n<p>Afterwards, we can generate the SSL certificate as follows:<\/p>\n<p>openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout \/etc\/ssl\/private\/pure-ftpd.pem -out \/etc\/ssl\/private\/pure-ftpd.pem<\/p>\n<p>Country Name (2 letter code) [XX]: &lt;&#8211; Enter your Country Name (e.g., &#8220;DE&#8221;).<\/p>\n<p>State or Province Name (full name) []: &lt;&#8211; Enter your State or Province Name.<\/p>\n<p>Locality Name (eg, city) [Default City]: &lt;&#8211; Enter your City.<\/p>\n<p>Organization Name (eg, company) [Default Company Ltd]: &lt;&#8211; Enter your Organization Name (e.g., the name of your company).<\/p>\n<p>Organizational Unit Name (eg, section) []: &lt;&#8211; Enter your Organizational Unit Name (e.g. &#8220;IT Department&#8221;).<\/p>\n<p>Common Name (eg, your name or your server&#8217;s hostname) []: &lt;&#8211; Enter the Fully Qualified Domain Name of the system (e.g. &#8220;server1.example.com&#8221;).<\/p>\n<p>Email Address []: &lt;&#8211; Enter your Email Address.<\/p>\n<p>Change the permissions of the SSL certificate:<\/p>\n<p>chmod 600 \/etc\/ssl\/private\/pure-ftpd.pem<\/p>\n<p>Finally restart PureFTPd:<\/p>\n<p>\/etc\/init.d\/pure-ftpd restart<\/p>\n<p>That&#8217;s it. You can now try to connect using your FTP client; however, you should configure your FTP client to use TLS.<\/p>\n<p>&nbsp;<\/p>\n<h3>19 Install BIND<\/h3>\n<p>We can install BIND as follows:<\/p>\n<p>yum install bind bind-utils<\/p>\n<p>Next open \/etc\/sysconfig\/named&#8230;<\/p>\n<p>vi \/etc\/sysconfig\/named<\/p>\n<p>&#8230; and make sure that the ROOTDIR=\/var\/named\/chroot line is comment out:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre># BIND named process options<br># ~~~~~~~~~~~~~~~~~~~~~~~~~~<br># Currently, you can use the following options:<br>#<br># ROOTDIR=\"\/var\/named\/chroot\"  --  will run named in a chroot environment.<br>#                            you must set up the chroot environment<br>#                            (install the bind-chroot package) before<br>#                            doing this.<br>#       NOTE:<br>#         Those directories are automatically mounted to chroot if they are<br>#         empty in the ROOTDIR directory. It will simplify maintenance of your<br>#         chroot environment.<br>#          - \/var\/named<br>#          - \/etc\/pki\/dnssec-keys<br>#          - \/etc\/named<br>#          - \/usr\/lib64\/bind or \/usr\/lib\/bind (architecture dependent)<br>#<br>#         Those files are mounted as well if target file doesn't exist in<br>#         chroot.<br>#          - \/etc\/named.conf<br>#          - \/etc\/rndc.conf<br>#          - \/etc\/rndc.key<br>#          - \/etc\/named.rfc1912.zones<br>#          - \/etc\/named.dnssec.keys<br>#          - \/etc\/named.iscdlv.key<br>#<br>#       Don't forget to add \"$AddUnixListenSocket \/var\/named\/chroot\/dev\/log\"<br>#       line to your \/etc\/rsyslog.conf file. Otherwise your logging becomes<br>#       broken when rsyslogd daemon is restarted (due update, for example).<br>#<br># OPTIONS=\"whatever\"     --  These additional options will be passed to named<br>#                            at startup. Don't add -t here, use ROOTDIR instead.<br>#<br># KEYTAB_FILE=\"\/dir\/file\"    --  Specify named service keytab file (for GSS-TSIG)<br>#<br># DISABLE_ZONE_CHECKING  -- By default, initscript calls named-checkzone<br>#                           utility for every zone to ensure all zones are<br>#                           valid before named starts. If you set this option<br>#                           to 'yes' then initscript doesn't perform those<br>#                           checks.<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>Make a backup of the existing \/etc\/named.conf file and create a new one as follows:<\/p>\n<p>cp \/etc\/named.conf \/etc\/named.conf_bak<\/p>\n<p>cat \/dev\/null &gt; \/etc\/named.conf<\/p>\n<p>vi \/etc\/named.conf<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>\/\/<br>\/\/ named.conf<br>\/\/<br>\/\/ Provided by Red Hat bind package to configure the ISC BIND named(8) DNS<br>\/\/ server as a caching only nameserver (as a localhost DNS resolver only).<br>\/\/<br>\/\/ See \/usr\/share\/doc\/bind*\/sample\/ for example named configuration files.<br>\/\/<br>options {<br>        listen-on port 53 { any; };<br>        listen-on-v6 port 53 { any; };<br>        directory       \"\/var\/named\";<br>        dump-file       \"\/var\/named\/data\/cache_dump.db\";<br>        statistics-file \"\/var\/named\/data\/named_stats.txt\";<br>        memstatistics-file \"\/var\/named\/data\/named_mem_stats.txt\";<br>        allow-query     { any; };<br>        recursion yes;<br>};<br>logging {<br>        channel default_debug {<br>                file \"data\/named.run\";<br>                severity dynamic;<br>        };<br>};<br>zone \".\" IN {<br>        type hint;<br>        file \"named.ca\";<br>};<br>include \"\/etc\/named.conf.local\";<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>Create the file \/etc\/named.conf.local that is included at the end of \/etc\/named.conf (\/etc\/named.conf.local will later on get populated by ISPConfig if you create DNS zones in ISPConfig):<\/p>\n<p>touch \/etc\/named.conf.local<\/p>\n<p>Then we create the startup links and start BIND:<\/p>\n<p>chkconfig &#8211;levels 235 named on<\/p>\n<p>\/etc\/init.d\/named start<\/p>\n<p>&nbsp;<\/p>\n<h3>20 Install Webalizer And AWStats<\/h3>\n<p>Webalizer and AWStats can be installed as follows:<\/p>\n<p>yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder<\/p>\n<p>&nbsp;<\/p>\n<h3>21 Install Jailkit<\/h3>\n<p><\/p>\n<div><\/div>\n<p>Jailkit is needed only if you want to chroot SSH users. It can be installed as follows (important: Jailkit must be installed before ISPConfig &#8211; it cannot be installed afterwards!):<\/p>\n<p>cd \/tmp<\/p>\n<p>wget http:\/\/olivier.sessink.nl\/jailkit\/jailkit-2.15.tar.gz<\/p>\n<p>tar xvfz jailkit-2.15.tar.gz<\/p>\n<p>cd jailkit-2.15<\/p>\n<p>.\/configure<\/p>\n<p>make<\/p>\n<p>make install<\/p>\n<p>cd ..<\/p>\n<p>rm -rf jailkit-2.15*<\/p>\n<p>&nbsp;<\/p>\n<h3>22 Install fail2ban<\/h3>\n<p>This is optional but recommended, because the ISPConfig monitor tries to show the log:<\/p>\n<p>yum install fail2ban<\/p>\n<p>We must configure fail2ban to log to the log file \/var\/log\/fail2ban.log because this is the log file that is monitored by the ISPConfig Monitor module. Open \/etc\/fail2ban\/fail2ban.conf&#8230;<\/p>\n<p>vi \/etc\/fail2ban\/fail2ban.conf<\/p>\n<p>&#8230; and comment out the logtarget = SYSLOG line and add logtarget = \/var\/log\/fail2ban.log:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[...]<br># Option:  logtarget<br># Notes.:  Set the log target. This could be a file, SYSLOG, STDERR or STDOUT.<br>#          Only one log target can be specified.<br># Values:  STDOUT STDERR SYSLOG file  Default:  \/var\/log\/fail2ban.log<br>#<br>#logtarget = SYSLOG<br>logtarget = \/var\/log\/fail2ban.log<br>[...]<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>Then create the system startup links for fail2ban and start it:<\/p>\n<p>chkconfig &#8211;levels 235 fail2ban on<\/p>\n<p>\/etc\/init.d\/fail2ban start<\/p>\n<p>&nbsp;<\/p>\n<h3>23 Install rkhunter<\/h3>\n<p>rkhunter can be installed as follows:<\/p>\n<p>yum install rkhunter<\/p>\n<p>&nbsp;<\/p>\n<h3>24 Install SquirrelMail<\/h3>\n<p>To install the SquirrelMail webmail client, run&#8230;<\/p>\n<p>yum install squirrelmail<\/p>\n<p>Then configure SquirrelMail:<\/p>\n<p>\/usr\/share\/squirrelmail\/config\/conf.pl<\/p>\n<p>We must tell SquirrelMail that we are using Dovecot:<\/p>\n<p>SquirrelMail\u00a0Configuration\u00a0:\u00a0Read:\u00a0config.php\u00a0(1.4.0)<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>Main\u00a0Menu\u00a0&#8212;<\/p>\n<p>1.\u00a0\u00a0Organization\u00a0Preferences<\/p>\n<p>2.\u00a0\u00a0Server\u00a0Settings<\/p>\n<p>3.\u00a0\u00a0Folder\u00a0Defaults<\/p>\n<p>4.\u00a0\u00a0General\u00a0Options<\/p>\n<p>5.\u00a0\u00a0Themes<\/p>\n<p>6.\u00a0\u00a0Address\u00a0Books<\/p>\n<p>7.\u00a0\u00a0Message\u00a0of\u00a0the\u00a0Day\u00a0(MOTD)<\/p>\n<p>8.\u00a0\u00a0Plugins<\/p>\n<p>9.\u00a0\u00a0Database<\/p>\n<p>10.\u00a0Languages<\/p>\n<p>D.\u00a0\u00a0Set\u00a0pre-defined\u00a0settings\u00a0for\u00a0specific\u00a0IMAP\u00a0servers<\/p>\n<p>C\u00a0\u00a0\u00a0Turn\u00a0color\u00a0off<\/p>\n<p>S\u00a0\u00a0\u00a0Save\u00a0data<\/p>\n<p>Q\u00a0\u00a0\u00a0Quit<\/p>\n<p>Command\u00a0&gt;&gt;\u00a0&lt;&#8211; D<\/p>\n<p>SquirrelMail\u00a0Configuration\u00a0:\u00a0Read:\u00a0config.php<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>While\u00a0we\u00a0have\u00a0been\u00a0building\u00a0SquirrelMail,\u00a0we\u00a0have\u00a0discovered\u00a0some<\/p>\n<p>preferences\u00a0that\u00a0work\u00a0better\u00a0with\u00a0some\u00a0servers\u00a0that\u00a0don&#8217;t\u00a0work\u00a0so<\/p>\n<p>well\u00a0with\u00a0others.\u00a0\u00a0If\u00a0you\u00a0select\u00a0your\u00a0IMAP\u00a0server,\u00a0this\u00a0option\u00a0will<\/p>\n<p>set\u00a0some\u00a0pre-defined\u00a0settings\u00a0for\u00a0that\u00a0server.<\/p>\n<p>Please\u00a0note\u00a0that\u00a0you\u00a0will\u00a0still\u00a0need\u00a0to\u00a0go\u00a0through\u00a0and\u00a0make\u00a0sure<\/p>\n<p>everything\u00a0is\u00a0correct.\u00a0\u00a0This\u00a0does\u00a0not\u00a0change\u00a0everything.\u00a0\u00a0There\u00a0are<\/p>\n<p>only\u00a0a\u00a0few\u00a0settings\u00a0that\u00a0this\u00a0will\u00a0change.<\/p>\n<p>Please\u00a0select\u00a0your\u00a0IMAP\u00a0server:<\/p>\n<p>bincimap\u00a0\u00a0\u00a0\u00a0=\u00a0Binc\u00a0IMAP\u00a0server<\/p>\n<p>courier\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0Courier\u00a0IMAP\u00a0server<\/p>\n<p>cyrus\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0Cyrus\u00a0IMAP\u00a0server<\/p>\n<p>dovecot\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0Dovecot\u00a0Secure\u00a0IMAP\u00a0server<\/p>\n<p>exchange\u00a0\u00a0\u00a0\u00a0=\u00a0Microsoft\u00a0Exchange\u00a0IMAP\u00a0server<\/p>\n<p>hmailserver\u00a0=\u00a0hMailServer<\/p>\n<p>macosx\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0Mac\u00a0OS\u00a0X\u00a0Mailserver<\/p>\n<p>mercury32\u00a0\u00a0\u00a0=\u00a0Mercury\/32<\/p>\n<p>uw\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0University\u00a0of\u00a0Washington&#8217;s\u00a0IMAP\u00a0server<\/p>\n<p>gmail\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0IMAP\u00a0access\u00a0to\u00a0Google\u00a0mail\u00a0(Gmail)\u00a0accounts<\/p>\n<p>quit\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0Do\u00a0not\u00a0change\u00a0anything<\/p>\n<p>Command\u00a0&gt;&gt;\u00a0&lt;&#8211;\u00a0dovecot<\/p>\n<p>SquirrelMail\u00a0Configuration\u00a0:\u00a0Read:\u00a0config.php<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>While\u00a0we\u00a0have\u00a0been\u00a0building\u00a0SquirrelMail,\u00a0we\u00a0have\u00a0discovered\u00a0some<\/p>\n<p>preferences\u00a0that\u00a0work\u00a0better\u00a0with\u00a0some\u00a0servers\u00a0that\u00a0don&#8217;t\u00a0work\u00a0so<\/p>\n<p>well\u00a0with\u00a0others.\u00a0\u00a0If\u00a0you\u00a0select\u00a0your\u00a0IMAP\u00a0server,\u00a0this\u00a0option\u00a0will<\/p>\n<p>set\u00a0some\u00a0pre-defined\u00a0settings\u00a0for\u00a0that\u00a0server.<\/p>\n<p>Please\u00a0note\u00a0that\u00a0you\u00a0will\u00a0still\u00a0need\u00a0to\u00a0go\u00a0through\u00a0and\u00a0make\u00a0sure<\/p>\n<p>everything\u00a0is\u00a0correct.\u00a0\u00a0This\u00a0does\u00a0not\u00a0change\u00a0everything.\u00a0\u00a0There\u00a0are<\/p>\n<p>only\u00a0a\u00a0few\u00a0settings\u00a0that\u00a0this\u00a0will\u00a0change.<\/p>\n<p>Please\u00a0select\u00a0your\u00a0IMAP\u00a0server:<\/p>\n<p>bincimap\u00a0\u00a0\u00a0\u00a0=\u00a0Binc\u00a0IMAP\u00a0server<\/p>\n<p>courier\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0Courier\u00a0IMAP\u00a0server<\/p>\n<p>cyrus\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0Cyrus\u00a0IMAP\u00a0server<\/p>\n<p>dovecot\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0Dovecot\u00a0Secure\u00a0IMAP\u00a0server<\/p>\n<p>exchange\u00a0\u00a0\u00a0\u00a0=\u00a0Microsoft\u00a0Exchange\u00a0IMAP\u00a0server<\/p>\n<p>hmailserver\u00a0=\u00a0hMailServer<\/p>\n<p>macosx\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0Mac\u00a0OS\u00a0X\u00a0Mailserver<\/p>\n<p>mercury32\u00a0\u00a0\u00a0=\u00a0Mercury\/32<\/p>\n<p>uw\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0University\u00a0of\u00a0Washington&#8217;s\u00a0IMAP\u00a0server<\/p>\n<p>gmail\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0IMAP\u00a0access\u00a0to\u00a0Google\u00a0mail\u00a0(Gmail)\u00a0accounts<\/p>\n<p>quit\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=\u00a0Do\u00a0not\u00a0change\u00a0anything<\/p>\n<p>Command\u00a0&gt;&gt;\u00a0courier<\/p>\n<p>imap_server_type\u00a0=\u00a0courier<\/p>\n<p>default_folder_prefix\u00a0=\u00a0INBOX.<\/p>\n<p>trash_folder\u00a0=\u00a0Trash<\/p>\n<p>sent_folder\u00a0=\u00a0Sent<\/p>\n<p>draft_folder\u00a0=\u00a0Drafts<\/p>\n<p>show_prefix_option\u00a0=\u00a0false<\/p>\n<p>default_sub_of_inbox\u00a0=\u00a0false<\/p>\n<p>show_contain_subfolders_option\u00a0=\u00a0false<\/p>\n<p>optional_delimiter\u00a0=\u00a0.<\/p>\n<p>delete_folder\u00a0=\u00a0true<\/p>\n<p>Press\u00a0enter\u00a0to\u00a0continue&#8230;\u00a0&lt;&#8211;\u00a0press\u00a0ENTER<\/p>\n<p>SquirrelMail\u00a0Configuration\u00a0:\u00a0Read:\u00a0config.php\u00a0(1.4.0)<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>Main\u00a0Menu\u00a0&#8212;<\/p>\n<p>1.\u00a0\u00a0Organization\u00a0Preferences<\/p>\n<p>2.\u00a0\u00a0Server\u00a0Settings<\/p>\n<p>3.\u00a0\u00a0Folder\u00a0Defaults<\/p>\n<p>4.\u00a0\u00a0General\u00a0Options<\/p>\n<p>5.\u00a0\u00a0Themes<\/p>\n<p>6.\u00a0\u00a0Address\u00a0Books<\/p>\n<p>7.\u00a0\u00a0Message\u00a0of\u00a0the\u00a0Day\u00a0(MOTD)<\/p>\n<p>8.\u00a0\u00a0Plugins<\/p>\n<p>9.\u00a0\u00a0Database<\/p>\n<p>10.\u00a0Languages<\/p>\n<p>D.\u00a0\u00a0Set\u00a0pre-defined\u00a0settings\u00a0for\u00a0specific\u00a0IMAP\u00a0servers<\/p>\n<p>C\u00a0\u00a0\u00a0Turn\u00a0color\u00a0off<\/p>\n<p>S\u00a0\u00a0\u00a0Save\u00a0data<\/p>\n<p>Q\u00a0\u00a0\u00a0Quit<\/p>\n<p>Command\u00a0&gt;&gt;\u00a0&lt;&#8211;S<\/p>\n<p>SquirrelMail\u00a0Configuration\u00a0:\u00a0Read:\u00a0config.php\u00a0(1.4.0)<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>Main\u00a0Menu\u00a0&#8212;<\/p>\n<p>1.\u00a0\u00a0Organization\u00a0Preferences<\/p>\n<p>2.\u00a0\u00a0Server\u00a0Settings<\/p>\n<p>3.\u00a0\u00a0Folder\u00a0Defaults<\/p>\n<p>4.\u00a0\u00a0General\u00a0Options<\/p>\n<p>5.\u00a0\u00a0Themes<\/p>\n<p>6.\u00a0\u00a0Address\u00a0Books<\/p>\n<p>7.\u00a0\u00a0Message\u00a0of\u00a0the\u00a0Day\u00a0(MOTD)<\/p>\n<p>8.\u00a0\u00a0Plugins<\/p>\n<p>9.\u00a0\u00a0Database<\/p>\n<p>10.\u00a0Languages<\/p>\n<p>D.\u00a0\u00a0Set\u00a0pre-defined\u00a0settings\u00a0for\u00a0specific\u00a0IMAP\u00a0servers<\/p>\n<p>C\u00a0\u00a0\u00a0Turn\u00a0color\u00a0off<\/p>\n<p>S\u00a0\u00a0\u00a0Save\u00a0data<\/p>\n<p>Q\u00a0\u00a0\u00a0Quit<\/p>\n<p>Command\u00a0&gt;&gt;\u00a0&lt;&#8211;Q<\/p>\n<p>One last thing we need to do is modify the file \/etc\/squirrelmail\/config_local.php and comment out the $default_folder_prefix variable &#8211; if you don&#8217;t do this, you will see the following error message in SquirrelMail after you&#8217;ve logged in: Query: CREATE &#8220;Sent&#8221; Reason Given: Invalid mailbox name.<\/p>\n<p>vi \/etc\/squirrelmail\/config_local.php<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>&lt;?php<br><br>\/**<br> * Local config overrides.<br> *<br> * You can override the config.php settings here.<br> * Don't do it unless you know what you're doing.<br> * Use standard PHP syntax, see config.php for examples.<br> *<br> * @copyright &amp;copy; 2002-2006 The SquirrelMail Project Team<br> * @license http:\/\/opensource.org\/licenses\/gpl-license.php GNU Public License<br> * @version $Id: config_local.php,v 1.2 2006\/07\/11 03:33:47 wtogami Exp $<br> * @package squirrelmail<br> * @subpackage config<br> *\/<br><br>\/\/$default_folder_prefix                = '';<br>?&gt;<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>You can now find SquirrelMail in the \/usr\/share\/squirrelmail\/ directory.<\/p>\n<p>After you have installed ISPConfig 3, you can access SquirrelMail as follows:<\/p>\n<p>The ISPConfig apps vhost on port 8081 for nginx comes with a SquirrelMail configuration, so you can use http:\/\/server1.example.com:8081\/squirrelmail or http:\/\/server1.example.com:8081\/webmail to access SquirrelMail.<\/p>\n<p>If you want to use a \/webmail or \/squirrelmail alias that you can use from your web sites, this is a bit more complicated than for Apache because nginx does not have global aliases (i.e., aliases that can be defined for all vhosts). Therefore you have to define these aliases for <strong>each<\/strong> vhost from which you want to access SquirrelMail.<\/p>\n<p>To do this, paste the following into the nginx Directives field on the Options tab of the web site in ISPConfig:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>        location \/squirrelmail {<br>               root \/usr\/share\/;<br>               index index.php index.html index.htm;<br>               location ~ ^\/squirrelmail\/(.+\\.php)$ {<br>                       try_files $uri =404;<br>                       root \/usr\/share\/;<br>                       fastcgi_pass 127.0.0.1:9000;<br>                       fastcgi_index index.php;<br>                       fastcgi_param SCRIPT_FILENAME $request_filename;<br>                       include \/etc\/nginx\/fastcgi_params;<br>                       fastcgi_param PATH_INFO $fastcgi_script_name;<br>                       fastcgi_buffer_size 128k;<br>                       fastcgi_buffers 256 4k;<br>                       fastcgi_busy_buffers_size 256k;<br>                       fastcgi_temp_file_write_size 256k;<br>                       fastcgi_intercept_errors on;<br>               }<br>               location ~* ^\/squirrelmail\/(.+\\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {<br>                       root \/usr\/share\/;<br>               }<br>        }<br>        location \/webmail {<br>               rewrite ^\/* \/squirrelmail last;<br>        }<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>If you use http<strong>s<\/strong> instead of http for your vhost, you should add the line fastcgi_param HTTPS on; to your SquirrelMail configuration like this:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>        location \/squirrelmail {<br>               root \/usr\/share\/;<br>               index index.php index.html index.htm;<br>               location ~ ^\/squirrelmail\/(.+\\.php)$ {<br>                       try_files $uri =404;<br>                       root \/usr\/share\/;<br>                       fastcgi_pass 127.0.0.1:9000;<br>                       fastcgi_param HTTPS on; # &lt;-- add this line<br>                       fastcgi_index index.php;<br>                       fastcgi_param SCRIPT_FILENAME $request_filename;<br>                       include \/etc\/nginx\/fastcgi_params;<br>                       fastcgi_param PATH_INFO $fastcgi_script_name;<br>                       fastcgi_buffer_size 128k;<br>                       fastcgi_buffers 256 4k;<br>                       fastcgi_busy_buffers_size 256k;<br>                       fastcgi_temp_file_write_size 256k;<br>                       fastcgi_intercept_errors on;<br>               }<br>               location ~* ^\/squirrelmail\/(.+\\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {<br>                       root \/usr\/share\/;<br>               }<br>        }<br>        location \/webmail {<br>               rewrite ^\/* \/squirrelmail last;<br>        }<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>If you use both http and https for your vhost, you need to add the following section to the http {} section in \/etc\/nginx\/nginx.conf (before any include lines) which determines if the visitor uses http or https and sets the $fastcgi_https variable (which we will use in our SquirrelMail configuration) accordingly (please note that you don&#8217;t need to do this if you have added this section before, for example when you configured phpMyAdmin &#8211; see chapter 16):<\/p>\n<p>vi \/etc\/nginx\/nginx.conf<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[...]<br>http {<br>[...]<br>        ## Detect when HTTPS is used<br>        map $scheme $fastcgi_https {<br>          default off;<br>          https on;<br>        }<br>[...]<br>}<br>[...]<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>Don&#8217;t forget to reload nginx afterwards:<\/p>\n<p>\/etc\/init.d\/nginx reload<\/p>\n<p>Then go to the nginx Directives field again, and instead of fastcgi_param HTTPS on; you add the line fastcgi_param HTTPS $fastcgi_https; so that you can use SquirrelMail for both http and https requests:<\/p>\n<pre>        location \/squirrelmail {<br>               root \/usr\/share\/;<br>               index index.php index.html index.htm;<br>               location ~ ^\/squirrelmail\/(.+\\.php)$ {<br>                       try_files $uri =404;<br>                       root \/usr\/share\/;<br>                       fastcgi_pass 127.0.0.1:9000;<br>                       fastcgi_param HTTPS $fastcgi_https; # &lt;-- add this line<br>                       fastcgi_index index.php;<br>                       fastcgi_param SCRIPT_FILENAME $request_filename;<br>                       include \/etc\/nginx\/fastcgi_params;<br>                       fastcgi_param PATH_INFO $fastcgi_script_name;<br>                       fastcgi_buffer_size 128k;<br>                       fastcgi_buffers 256 4k;<br>                       fastcgi_busy_buffers_size 256k;<\/pre>\n<p><\/p>\n<h3>25 Install ISPConfig 3<\/h3>\n<p><\/p>\n<div><\/div>\n<p>Before you start the ISPConfig installation, make sure that Apache is stopped (if it is installed &#8211; it is possible that some of your installed packages have installed Apache as a dependency without you knowing). If Apache2 is already installed on the system, stop it now&#8230;<\/p>\n<p>\/etc\/init.d\/httpd stop<\/p>\n<p>&#8230; and remove Apache&#8217;s system startup links:<\/p>\n<p>chkconfig &#8211;del httpd<\/p>\n<p>Make sure that nginx is running:<\/p>\n<p>\/etc\/init.d\/nginx restart<\/p>\n<p>(If you have both Apache and nginx installed, the installer asks you which one you want to use: Apache and nginx detected. Select server to use for ISPConfig: (apache,nginx) [apache]:<\/p>\n<p>Type nginx. If only Apache or nginx are installed, this is automatically detected by the installer, and no question is asked.)<\/p>\n<p>Download the <a href=\"http:\/\/www.ispconfig.org\/ispconfig-3\/download\/\" target=\"_blank\">current ISPConfig 3 version<\/a> and install it. The ISPConfig installer will configure all services like Postfix, Dovecot, etc. for you. A manual setup as required for ISPConfig 2 is not necessary anymore.<\/p>\n<p>You now also have the possibility to let the installer create an SSL vhost for the ISPConfig control panel, so that ISPConfig can be accessed using https:\/\/ instead of http:\/\/. To achieve this, just press ENTER when you see this question: Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:.<\/p>\n<p>To install ISPConfig 3 from the latest released version, do this:<\/p>\n<p>cd \/tmp<\/p>\n<p>wget http:\/\/www.ispconfig.org\/downloads\/ISPConfig-3-stable.tar.gz<\/p>\n<p>tar xfz ISPConfig-3-stable.tar.gz<\/p>\n<p>cd ispconfig3_install\/install\/<\/p>\n<p>The next step is to run<\/p>\n<p>php -q install.php<\/p>\n<p>This will start the ISPConfig 3 installer:<\/p>\n<p>[root@server1\u00a0install]#\u00a0php\u00a0-q\u00a0install.php<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>_____\u00a0___________\u00a0\u00a0\u00a0_____\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0__\u00a0_\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0____<\/p>\n<p>|_\u00a0\u00a0\u00a0_\/\u00a0\u00a0___|\u00a0___\u00a0\\\u00a0\/\u00a0\u00a0__\u00a0\\\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0_(_)\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/__\u00a0\u00a0\\<\/p>\n<p>|\u00a0|\u00a0\\\u00a0`&#8211;.|\u00a0|_\/\u00a0\/\u00a0|\u00a0\/\u00a0\u00a0\\\/\u00a0___\u00a0\u00a0_\u00a0__\u00a0|\u00a0|_\u00a0_\u00a0\u00a0__\u00a0_\u00a0\u00a0\u00a0\u00a0_\/\u00a0\/<\/p>\n<p>|\u00a0|\u00a0\u00a0`&#8211;.\u00a0\\\u00a0\u00a0__\/\u00a0\u00a0|\u00a0|\u00a0\u00a0\u00a0\u00a0\/\u00a0_\u00a0\\|\u00a0&#8216;_\u00a0\\|\u00a0\u00a0_|\u00a0|\/\u00a0_`\u00a0|\u00a0\u00a0|_\u00a0|<\/p>\n<p>_|\u00a0|_\/\\__\/\u00a0\/\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0|\u00a0\\__\/\\\u00a0(_)\u00a0|\u00a0|\u00a0|\u00a0|\u00a0|\u00a0|\u00a0|\u00a0(_|\u00a0|\u00a0___\\\u00a0\\<\/p>\n<p>\\___\/\\____\/\\_|\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\\____\/\\___\/|_|\u00a0|_|_|\u00a0|_|\\__,\u00a0|\u00a0\\____\/<\/p>\n<p>__\/\u00a0|<\/p>\n<p>|___\/<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>&gt;&gt;\u00a0Initial\u00a0configuration<\/p>\n<p>Operating\u00a0System:\u00a0Redhat\u00a0or\u00a0compatible,\u00a0unknown\u00a0version.<\/p>\n<p>Following\u00a0will\u00a0be\u00a0a\u00a0few\u00a0questions\u00a0for\u00a0primary\u00a0configuration\u00a0so\u00a0be\u00a0careful.<\/p>\n<p>Default\u00a0values\u00a0are\u00a0in\u00a0[brackets]\u00a0and\u00a0can\u00a0be\u00a0accepted\u00a0with\u00a0&lt;ENTER&gt;.<\/p>\n<p>Tap\u00a0in\u00a0&#8220;quit&#8221;\u00a0(without\u00a0the\u00a0quotes)\u00a0to\u00a0stop\u00a0the\u00a0installer.<\/p>\n<p>Select\u00a0language\u00a0(en,de)\u00a0[en]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Installation\u00a0mode\u00a0(standard,expert)\u00a0[standard]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Full\u00a0qualified\u00a0hostname\u00a0(FQDN)\u00a0of\u00a0the\u00a0server,\u00a0eg\u00a0server1.domain.tld\u00a0\u00a0[server1.example.com]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>MySQL\u00a0server\u00a0hostname\u00a0[localhost]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>MySQL\u00a0root\u00a0username\u00a0[root]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>MySQL\u00a0root\u00a0password\u00a0[]:\u00a0&lt;&#8211;\u00a0yourrootsqlpassword<\/p>\n<p>MySQL\u00a0database\u00a0to\u00a0create\u00a0[dbispconfig]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>MySQL\u00a0charset\u00a0[utf8]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Apache\u00a0and\u00a0nginx\u00a0detected.\u00a0Select\u00a0server\u00a0to\u00a0use\u00a0for\u00a0ISPConfig:\u00a0(apache,nginx)\u00a0[apache]:\u00a0&lt;&#8211;\u00a0nginx<\/p>\n<p>Generating\u00a0a\u00a02048\u00a0bit\u00a0RSA\u00a0private\u00a0key<\/p>\n<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.+++<\/p>\n<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..+++<\/p>\n<p>writing\u00a0new\u00a0private\u00a0key\u00a0to\u00a0&#8216;smtpd.key&#8217;<\/p>\n<p>&#8212;&#8211;<\/p>\n<p>You\u00a0are\u00a0about\u00a0to\u00a0be\u00a0asked\u00a0to\u00a0enter\u00a0information\u00a0that\u00a0will\u00a0be\u00a0incorporated<\/p>\n<p>into\u00a0your\u00a0certificate\u00a0request.<\/p>\n<p>What\u00a0you\u00a0are\u00a0about\u00a0to\u00a0enter\u00a0is\u00a0what\u00a0is\u00a0called\u00a0a\u00a0Distinguished\u00a0Name\u00a0or\u00a0a\u00a0DN.<\/p>\n<p>There\u00a0are\u00a0quite\u00a0a\u00a0few\u00a0fields\u00a0but\u00a0you\u00a0can\u00a0leave\u00a0some\u00a0blank<\/p>\n<p>For\u00a0some\u00a0fields\u00a0there\u00a0will\u00a0be\u00a0a\u00a0default\u00a0value,<\/p>\n<p>If\u00a0you\u00a0enter\u00a0&#8216;.&#8217;,\u00a0the\u00a0field\u00a0will\u00a0be\u00a0left\u00a0blank.<\/p>\n<p>&#8212;&#8211;<\/p>\n<p>Country\u00a0Name\u00a0(2\u00a0letter\u00a0code)\u00a0[XX]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>State\u00a0or\u00a0Province\u00a0Name\u00a0(full\u00a0name)\u00a0[]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Locality\u00a0Name\u00a0(eg,\u00a0city)\u00a0[Default\u00a0City]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Organization\u00a0Name\u00a0(eg,\u00a0company)\u00a0[Default\u00a0Company\u00a0Ltd]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Organizational\u00a0Unit\u00a0Name\u00a0(eg,\u00a0section)\u00a0[]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Common\u00a0Name\u00a0(eg,\u00a0your\u00a0name\u00a0or\u00a0your\u00a0server&#8217;s\u00a0hostname)\u00a0[]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Email\u00a0Address\u00a0[]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Configuring\u00a0Jailkit<\/p>\n<p>Configuring\u00a0Dovecot<\/p>\n<p>Configuring\u00a0Spamassassin<\/p>\n<p>Configuring\u00a0Amavisd<\/p>\n<p>Configuring\u00a0Getmail<\/p>\n<p>Configuring\u00a0Pureftpd<\/p>\n<p>Configuring\u00a0BIND<\/p>\n<p>Configuring\u00a0nginx<\/p>\n<p>Configuring\u00a0Vlogger<\/p>\n<p>Configuring\u00a0Apps\u00a0vhost<\/p>\n<p>Configuring\u00a0Bastille\u00a0Firewall<\/p>\n<p>Configuring\u00a0Fail2ban<\/p>\n<p>Installing\u00a0ISPConfig<\/p>\n<p>ISPConfig\u00a0Port\u00a0[8080]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Do\u00a0you\u00a0want\u00a0a\u00a0secure\u00a0(SSL)\u00a0connection\u00a0to\u00a0the\u00a0ISPConfig\u00a0web\u00a0interface\u00a0(y,n)\u00a0[y]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Generating\u00a0RSA\u00a0private\u00a0key,\u00a04096\u00a0bit\u00a0long\u00a0modulus<\/p>\n<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..++<\/p>\n<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;++<\/p>\n<p>e\u00a0is\u00a065537\u00a0(0x10001)<\/p>\n<p>You\u00a0are\u00a0about\u00a0to\u00a0be\u00a0asked\u00a0to\u00a0enter\u00a0information\u00a0that\u00a0will\u00a0be\u00a0incorporated<\/p>\n<p>into\u00a0your\u00a0certificate\u00a0request.<\/p>\n<p>What\u00a0you\u00a0are\u00a0about\u00a0to\u00a0enter\u00a0is\u00a0what\u00a0is\u00a0called\u00a0a\u00a0Distinguished\u00a0Name\u00a0or\u00a0a\u00a0DN.<\/p>\n<p>There\u00a0are\u00a0quite\u00a0a\u00a0few\u00a0fields\u00a0but\u00a0you\u00a0can\u00a0leave\u00a0some\u00a0blank<\/p>\n<p>For\u00a0some\u00a0fields\u00a0there\u00a0will\u00a0be\u00a0a\u00a0default\u00a0value,<\/p>\n<p>If\u00a0you\u00a0enter\u00a0&#8216;.&#8217;,\u00a0the\u00a0field\u00a0will\u00a0be\u00a0left\u00a0blank.<\/p>\n<p>&#8212;&#8211;<\/p>\n<p>Country\u00a0Name\u00a0(2\u00a0letter\u00a0code)\u00a0[XX]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>State\u00a0or\u00a0Province\u00a0Name\u00a0(full\u00a0name)\u00a0[]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Locality\u00a0Name\u00a0(eg,\u00a0city)\u00a0[Default\u00a0City]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Organization\u00a0Name\u00a0(eg,\u00a0company)\u00a0[Default\u00a0Company\u00a0Ltd]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Organizational\u00a0Unit\u00a0Name\u00a0(eg,\u00a0section)\u00a0[]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Common\u00a0Name\u00a0(eg,\u00a0your\u00a0name\u00a0or\u00a0your\u00a0server&#8217;s\u00a0hostname)\u00a0[]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Email\u00a0Address\u00a0[]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>Please\u00a0enter\u00a0the\u00a0following\u00a0&#8216;extra&#8217;\u00a0attributes<\/p>\n<p>to\u00a0be\u00a0sent\u00a0with\u00a0your\u00a0certificate\u00a0request<\/p>\n<p>A\u00a0challenge\u00a0password\u00a0[]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>An\u00a0optional\u00a0company\u00a0name\u00a0[]:\u00a0&lt;&#8211;\u00a0ENTER<\/p>\n<p>writing\u00a0RSA\u00a0key<\/p>\n<p>Configuring\u00a0DBServer<\/p>\n<p>Installing\u00a0ISPConfig\u00a0crontab<\/p>\n<p>no\u00a0crontab\u00a0for\u00a0root<\/p>\n<p>no\u00a0crontab\u00a0for\u00a0getmail<\/p>\n<p>Restarting\u00a0services\u00a0&#8230;<\/p>\n<p>Stopping\u00a0mysqld:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Starting\u00a0mysqld:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Shutting\u00a0down\u00a0postfix:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Starting\u00a0postfix:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Stopping\u00a0saslauthd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[FAILED]<\/p>\n<p>Starting\u00a0saslauthd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Shutting\u00a0down\u00a0amavisd:\u00a0Daemon\u00a0[1554]\u00a0terminated\u00a0by\u00a0SIGTERM<\/p>\n<p>[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>amavisd\u00a0stopped<\/p>\n<p>Starting\u00a0amavisd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Stopping\u00a0clamd.amavisd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Starting\u00a0clamd.amavisd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Stopping\u00a0Dovecot\u00a0Imap:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Starting\u00a0Dovecot\u00a0Imap:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Reloading\u00a0php-fpm:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Reloading\u00a0nginx:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Stopping\u00a0pure-ftpd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Starting\u00a0pure-ftpd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0[\u00a0\u00a0OK\u00a0\u00a0]<\/p>\n<p>Installation\u00a0completed.<\/p>\n<p>[root@server1\u00a0install]#<\/p>\n<p>To fix the Mailman errors you might get during the ISPConfig installation, open \/usr\/lib\/mailman\/Mailman\/mm_cfg.py&#8230;<\/p>\n<p>vi \/usr\/lib\/mailman\/Mailman\/mm_cfg.py<\/p>\n<p>&#8230; and set DEFAULT_SERVER_LANGUAGE = &#8216;en&#8217;:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[...]<br>#-------------------------------------------------------------<br># The default language for this server.<br>DEFAULT_SERVER_LANGUAGE = 'en'<br>[...]<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>Restart Mailman:<\/p>\n<p>\/etc\/init.d\/mailman restart<\/p>\n<p>Finally we need to tell Dovecot to use the dovecot.conf file generated by ISPConfig &#8211; \/etc\/dovecot.conf &#8211; and not the default \/etc\/dovecot\/dovecot.conf:<\/p>\n<p>cd \/etc\/dovecot<\/p>\n<p>mv dovecot.conf dovecot.conf_orig<\/p>\n<p>ln -s ..\/dovecot.conf dovecot.conf<\/p>\n<p>\/etc\/init.d\/dovecot restart<\/p>\n<p>Afterwards you can access ISPConfig 3 under http(s):\/\/server1.example.com:8080\/ or http(s):\/\/192.168.0.100:8080\/ (http or https depends on what you chose during installation). Log in with the username admin and the password admin (you should change the default password after your first login):<\/p>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/31.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"31\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/31-560x406.png\" alt=\"31\" width=\"560\" height=\"406\" \/><\/a><\/p>\n<div><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/311.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"311\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/311-560x406.png\" alt=\"311\" width=\"560\" height=\"406\" \/><\/a><\/div>\n<p><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/32.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"32\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/32-560x406.png\" alt=\"32\" width=\"560\" height=\"406\" \/><\/a><\/p>\n<div><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/321.png\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-medium\" title=\"321\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2012\/12\/321-560x406.png\" alt=\"321\" width=\"560\" height=\"406\" \/><\/a><\/div>\n<p>The system is now ready to be used.<\/p>\n<p>If you want to use IPv6 addresses with your nginx vhosts, please do the following before you create IPv6 vhosts in ISPConfig:<\/p>\n<p>Open \/etc\/sysctl.conf&#8230;<\/p>\n<p>vi \/etc\/sysctl.conf<\/p>\n<p>&#8230; and add the line net.ipv6.bindv6only = 1:<\/p>\n<table width=\"90%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" align=\"center\" bgcolor=\"#CCCCCC\"><\/p>\n<tbody><\/p>\n<tr><\/p>\n<td><\/p>\n<pre>[...]<br>net.ipv6.bindv6only = 1<\/pre>\n<p><\/td>\n<p><\/tr>\n<p><\/tbody>\n<p><\/table>\n<p>Run&#8230;<\/p>\n<p>sysctl -p<\/p>\n<p>&#8230; afterwards for the change to take effect.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7248\u672c1.0 \u4f5c\u8005\uff1aFalko\u548cTimme \u7ffb\u8bd1:Josen \u6700\u540e\u7f16\u8f91\u4e8e2012\u5e748\u67086\u65e5 \u672c\u6559\u7a0b\u4ecb\u7ecd\u5982\u4f55\u5b89\u88c5I [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1448","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.huzs.top\/index.php?rest_route=\/wp\/v2\/posts\/1448","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.huzs.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.huzs.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.huzs.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.huzs.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1448"}],"version-history":[{"count":1,"href":"https:\/\/www.huzs.top\/index.php?rest_route=\/wp\/v2\/posts\/1448\/revisions"}],"predecessor-version":[{"id":1449,"href":"https:\/\/www.huzs.top\/index.php?rest_route=\/wp\/v2\/posts\/1448\/revisions\/1449"}],"wp:attachment":[{"href":"https:\/\/www.huzs.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1448"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.huzs.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1448"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.huzs.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1448"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}