Կատարյալ սերվեր – CentOS 8 Apache-ով, Postfix-ով, Dovecot-ով, Pure-FTPD-ով, BIND-ով և ISPConfig 3.2-ով:
Այս ձեռնարկը ցույց է տալիս ISPConfig 3.2-ի տեղադրումը CentOS 8 (64 բիթ) սերվերի վրա: ISPConfig-ը վեբ հոստինգի կառավարման վահանակ է, որը թույլ է տալիս կարգավորել հետևյալ ծառայությունները վեբ բրաուզերի միջոցով՝ Apache վեբ սերվեր, PHP, Postfix փոստի սերվեր, MySQL, BIND nameserver, PureFTPd, SpamAssassin, ClamAV, Mailman և շատ ավելին:
1 Պահանջներ
Նման համակարգ տեղադրելու համար ձեզ հարկավոր է հետևյալը.
- Centos 8 նվազագույն սերվերային համակարգ: Սա կարող է լինել զրոյից տեղադրված սերվեր, ինչպես նկարագրված է մեր Centos 8 նվազագույն սերվերի ձեռնարկում կամ վիրտուալ սերվեր կամ արմատային սերվեր հոսթինգ ընկերությունից, որն ունի նվազագույն Centos 8 տեղադրում:
- Արագ ինտերնետ կապ:
2 Նախնական նշում
Այս ձեռնարկում ես օգտագործում եմ hostname server1.example.com 192.168.0.100 IP հասցեով և 192.168.0.1 դարպասով: Այս կարգավորումները կարող են տարբերվել ձեզ համար, ուստի անհրաժեշտության դեպքում դուք պետք է դրանք փոխարինեք:
3 Պատրաստեք սերվերը
Ստեղծեք ստեղնաշարի դասավորությունը
Այն դեպքում, երբ սերվերի ստեղնաշարի դասավորությունը չի համապատասխանում ձեր ստեղնաշարին, կարող եք անցնել աջ ստեղնաշարին (իմ դեպքում «de» գերմանական ստեղնաշարի դասավորության համար՝ localectl հրամանով.
localectl set-keymap de
Բոլոր հասանելի ստեղնաշարերի ցանկը ստանալու համար գործարկեք՝
localectl list-keymaps
Ես ուզում եմ տեղադրել ISPConfig-ը այս ձեռնարկի վերջում, ISPConfig-ը առաքվում է Bastille firewall-ի սկրիպտով, որը ես կօգտագործեմ որպես firewall, ուստի այժմ ես անջատում եմ կանխադրված CentOS firewall-ը: Իհարկե, դուք ազատ եք միացված թողնել CentOS firewall-ը և կարգավորել այն ըստ ձեր կարիքների (բայց հետո չպետք է օգտագործեք որևէ այլ firewall, քանի որ այն, ամենայն հավանականությամբ, կխանգարի CentOS firewall-ին):
Վազիր...
dnf -y install net-tools wget rsyslog curl
systemctl stop firewalld.service
systemctl disable firewalld.service
դադարեցնել և անջատել CentOS firewall-ը: Լավ է, երբ այստեղ սխալներ եք ստանում, սա պարզապես ցույց է տալիս, որ firewall-ը տեղադրված չէ:
Ապա դուք պետք է ստուգեք, որ firewall-ը իսկապես անջատված է: Դա անելու համար գործարկեք հրամանը.
iptables -L
Արդյունքը պետք է այսպիսին լինի.
[root@server1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Կամ օգտագործեք firewall-cmd հրամանը.
firewall-cmd --state
[root@server1 ~]# firewall-cmd --state
not running
[root@server1 ~]#
Այժմ ես կտեղադրեմ ցանցի կազմաձևման խմբագրիչը և կեղևի վրա հիմնված «nano» խմբագրիչը, որը կօգտագործեմ հաջորդ քայլերում՝ կազմաձևման ֆայլերը խմբագրելու համար.
dnf -y install nano wget NetworkManager-tui yum-utils
Եթե տեղադրման ընթացքում չեք կարգավորել ձեր ցանցային քարտը, կարող եք դա անել հիմա: Վազիր...
nmtui
... և անցեք Խմբագրել կապը՝
Ընտրեք ձեր ցանցային ինտերֆեյսը.
Այնուհետև լրացրեք ձեր ցանցի տվյալները. անջատեք DHCP-ն և լրացրեք ստատիկ IP հասցեն, ցանցի դիմակը, ձեր դարպասը և մեկ կամ երկու անունների սերվեր, այնուհետև սեղմեք Ok:
Հաջորդը ընտրեք Լավ՝ ցանցի կարգավորումներում ձեր կատարած փոփոխությունները հաստատելու համար
և Դուրս գալ՝ nmtui ցանցի կազմաձևման գործիքը փակելու համար:
Դուք պետք է վազեք
ifconfig
հիմա ստուգելու համար, թե արդյոք տեղադրողը ճիշտ է ստացել ձեր IP հասցեն.
[root@server1 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::20c:29ff:feee:b665 prefixlen 64 scopeid 0x20<link>
inet6 2003:e1:bf22:1b00:20c:29ff:feee:b665 prefixlen 64 scopeid 0x0<global>
ether 00:0c:29:ee:b6:65 txqueuelen 1000 (Ethernet)
RX packets 2874 bytes 1369892 (1.3 MiB)
RX errors 0 dropped 546 overruns 0 frame 0
TX packets 968 bytes 160901 (157.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Եթե ձեր ցանցային քարտն այնտեղ չի երևում, ապա այն միացված չէ բեռնման ժամանակ, այս դեպքում բացեք ֆայլը /etc/sysconfig/network-scripts/ifcfg-eth0:
nano /etc/sysconfig/network-scripts/ifcfg-ens33
և սահմանեք ONBOOT-ը այո:
[...]
ONBOOT=yes
[...]
և վերագործարկեք սերվերը:
Ստուգեք ձեր /etc/resolv.conf-ը, եթե այն թվարկում է բոլոր անունների սերվերները, որոնք նախկինում կազմաձևել եք.
cat /etc/resolv.conf
Եթե անունների սերվերները բացակայում են, գործարկեք
nmtui
և նորից ավելացրեք բացակայող անունների սերվերները:
Այժմ, կոնֆիգուրացիայի մասին ...
Կարգավորում /etc/hosts և /etc/hostname
Հաջորդը, մենք կխմբագրենք /etc/hosts. Դարձրեք այն այսպես.
nano /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.100 server1.example.com server1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Սահմանեք հոսթի անունը /etc/hostname ֆայլում: Ֆայլը պետք է պարունակի լիովին որակավորված տիրույթի անունը (օրինակ՝ server1.example.com իմ դեպքում) և ոչ միայն կարճ անունը, ինչպիսին է «server1»: Բացեք ֆայլը նանո խմբագրիչով.
nano /etc/hostname
Եվ դրեք հոսթի անունը ֆայլում:
server1.example.com
Պահպանեք ֆայլը և դուրս եկեք nano-ից:
Ստեղծեք SELinux-ը թույլատրելի
SELinux-ը CentOS-ի անվտանգության ընդլայնումն է, որը պետք է ապահովի ընդլայնված անվտանգություն: ISPConfig-ը չի առաքվում SELinux կանոնների հավաքածուով, հետևաբար ես այն դրել եմ թույլատրելիի (սա պարտադիր է, եթե ցանկանում եք տեղադրել ISPConfig-ը ավելի ուշ):
Խմբագրել /etc/selinux/config և սահմանել SELINUX=թույլատրելի:
nano /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Այնուհետև մենք պետք է վերագործարկենք համակարգը.
reboot
4 Միացրեք լրացուցիչ պահեստները և տեղադրեք որոշ ծրագրեր
Նախ, մենք ներմուծում ենք GPG ստեղները ծրագրային փաթեթների համար.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Այնուհետև մենք միացնում ենք EPEL պահոցը մեր CentOS համակարգում, քանի որ շատ փաթեթներ, որոնք մենք պատրաստվում ենք տեղադրել այս ձեռնարկի ընթացքում, հասանելի չեն պաշտոնական CentOS 8 պահոցում.
dnf -y install epel-release
Էլեկտրական գործիքների ակտիվացում.
dnf config-manager --set-enabled powertools
Այնուհետև մենք թարմացնում ենք մեր առկա փաթեթները համակարգում.
dnf -y update
Այժմ մենք տեղադրում ենք որոշ ծրագրային փաթեթներ, որոնք հետագայում անհրաժեշտ կլինեն.
dnf -y groupinstall 'Development Tools'
5 Քվոտա
(Եթե դուք ընտրել եք բաժանման այլ սխեման, քան ես, դուք պետք է հարմարեցնեք այս գլուխն այնպես, որ քվոտան կիրառվի այն բաժանումների վրա, որտեղ դա ձեզ անհրաժեշտ է:)
Քվոտան տեղադրելու համար մենք գործարկում ենք այս հրամանը.
dnf -y install quota
Այժմ մենք ստուգում ենք, արդյոք քվոտան արդեն միացված է ֆայլային համակարգի համար, որտեղ պահվում են կայքը (/var/www) և Maildir տվյալները (var/vmail): Այս կարգաբերման օրինակում ես ունեմ մեկ մեծ արմատային բաժանում, ուստի որոնում եմ '/':
mount | grep ' / '
[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
[root@server1 ~]#
Եթե ունեք առանձին /var միջնորմ, ապա օգտագործեք՝
mount | grep ' /var '
փոխարենը. Եթե տողը պարունակում է «noquota բառը, ապա շարունակեք հետևյալ քայլերը՝ քվոտան միացնելու համար:
Միացնելով քվոտան/(արմատ) բաժանման վրա
Սովորաբար դուք կարող եք միացնել քվոտան /etc/fstab ֆայլում, բայց եթե ֆայլային համակարգը արմատային ֆայլային համակարգն է «/», ապա քվոտան պետք է միացված լինի Linux միջուկի բեռնման պարամետրով:
Խմբագրել grub կազմաձևման ֆայլը.
nano /etc/default/grub
Փնտրեք տողը, որը սկսվում է GRUB_CMDLINE_LINUX-ով և հրամանի տողի պարամետրերին ավելացրեք rootflags=uquota,gquota, որպեսզի ստացված տողը այսպիսի տեսք ունենա.
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rootflags=uquota,gquota"
և կիրառեք փոփոխությունները՝ գործարկելով հետևյալ հրամանը.
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak
grub2-mkconfig -o /boot/grub2/grub.cfg
և վերագործարկեք սերվերը:
reboot
Այժմ ստուգեք, արդյոք քվոտան միացված է.
mount | grep ' / '
[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[root@server1 ~]#
Երբ քվոտան ակտիվ է, մենք կարող ենք տեսնել «usrquota,grpquota»-ը Mount-ի ընտրանքների ցանկում:
Առանձին /var բաժանման վրա քվոտայի ակտիվացում
Եթե ունեք առանձին /var բաժանում, ապա խմբագրեք /etc/fstab և ավելացրեք ,uquota,gquota/բաժանմանը (/dev/mapper/centos-var):
nano /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Sep 21 16:33:45 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 1 1
/dev/mapper/centos-var /var xfs defaults,uquota,gquota 1 2
UUID=9ac06939-7e43-4efd-957a-486775edd7b4 /boot xfs defaults 1 3
/dev/mapper/centos-swap swap swap defaults 0 0
Հետո վազիր
mount -o remount /var
quotacheck -avugm
quotaon -avug
քվոտան միացնելու համար: Երբ դուք սխալ եք ստանում, որ քվոտայով միացված միջնորմ չկա, ապա վերագործարկեք սերվերը, նախքան շարունակելը:
6 Տեղադրեք Apache, PHP, MySQL և phpMyAdmin
Միացրեք Remi պահոցը՝ PHP-ի ավելի նոր տարբերակներ ստանալու համար (ներկայումս PHP 7.4).
dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf -y install yum-utils
dnf -y module reset php
dnf -y module install php:remi-7.4
dnf update
Մենք կարող ենք տեղադրել անհրաժեշտ փաթեթները մեկ հրամանով.
dnf -y install httpd mod_ssl mariadb-server php php-mysqlnd php-mbstring
Ապահովելու համար, որ սերվերը չի կարող հարձակման ենթարկվել HTTPOXY խոցելիության միջոցով, մենք ամբողջ աշխարհում կանջատենք HTTP_PROXY վերնագիրը apache-ում:
httpd.conf ֆայլի վերջում ավելացրեք apache վերնագրի կանոնը.
echo "RequestHeader unset Proxy early" >> /etc/httpd/conf/httpd.conf
Եվ վերագործարկեք httpd-ը՝ կոնֆիգուրացիայի փոփոխությունը կիրառելու համար։
service httpd restart
Տեղադրեք phpMyAdmin.
cd /tmp
wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.tar.gz
tar xzvf phpMyAdmin-5.0.2-all-languages.tar.gz
mkdir /usr/share/phpmyadmin
mv phpMyAdmin-5.0.2-all-languages/* /usr/share/phpmyadmin/
mkdir /usr/share/phpmyadmin/tmp
chown -R apache:apache /usr/share/phpmyadmin
chmod 777 /usr/share/phpmyadmin/tmp
Լրացուցիչ. Փոխեք Apache MPM մոդուլը
CentOS 8-ը լռելյայն օգտագործում է Apache MPM Event մոդուլը, սա լավ է մի կողմից, քանի որ թույլ է տալիս օգտագործել HTTP/2 արձանագրությունը: Մյուս կողմից, այն թույլ չի տալիս օգտագործել apache mod_php մոդուլը։ Ընդհանուր առմամբ, այսօր պետք է օգտագործել PHP-FPM որպես լռելյայն, և ISPConfig-ն աջակցում է դրան: Եթե ձեզ անհրաժեշտ է հին mod_php ռեժիմը համատեղելիության նկատառումներով, ապա կարող եք փոխել Apache MPM-ն այսպես.
nano /etc/httpd/conf.modules.d/00-mpm.conf
MPM իրադարձության գծի դիմաց ավելացրեք #, որպեսզի այն այսպիսի տեսք ունենա.
# LoadModule mpm_event_module modules/mod_mpm_event.so
Այնուհետև հեռացրեք # մուտքը MPM Prefork գծից, այնպես որ այն կունենա հետևյալ տեսքը.
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
Այնուհետև վերագործարկեք httpd-ն՝ կոնֆիգուրացիայի փոփոխությունը կիրառելու համար:
service httpd restart
7 Տեղադրեք Dovecot-ը
Dovecot-ը կարող է տեղադրվել հետևյալ կերպ.
dnf -y install dovecot dovecot-mysql dovecot-pigeonhole
Ստեղծեք դատարկ dovecot-sql.conf ֆայլ և ստեղծեք սիմհղումներ.
touch /etc/dovecot/dovecot-sql.conf
ln -s /etc/dovecot/dovecot-sql.conf /etc/dovecot-sql.conf
ln -s /etc/dovecot/dovecot.conf /etc/dovecot.conf
Այժմ ստեղծեք համակարգի գործարկման հղումները և գործարկեք Dovecot:
systemctl enable dovecot
systemctl start dovecot
8 Տեղադրեք Postfix-ը
Postfix-ը կարող է տեղադրվել հետևյալ կերպ.
dnf -y install postfix postfix-mysql
Հաջորդը, բացեք TLS/SSL և ներկայացման պորտերը Postfix-ում.
nano /etc/postfix/master.cf
Անջատեք ներկայացում և smtps բաժինները հետևյալ կերպ և անհրաժեշտության դեպքում ավելացրեք տողեր, որպեսզի master.cf ֆայլի այս բաժինը ստորև բերվածի նման լինի: ԿԱՐԵՎՈՐ. Հեռացրեք #-ն այն տողերի դիմաց, որոնք սկսվում են smtps-ով և ներկայացմամբ և ոչ միայն այս տողերից հետո գտնվող -o տողերից:
[...]
submission inet n - n - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smtps inet n - n - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
[...]
Այնուհետև անջատեք Sendmail-ը և գործարկեք Postfix և MariaDB (MySQL):
systemctl enable mariadb.service
systemctl start mariadb.service
systemctl enable postfix.service
systemctl restart postfix.service
Մենք անջատում ենք sendmail-ը՝ համոզվելու համար, որ այն չսկսվի, եթե այն տեղադրված է ձեր սերվերում: Այսպիսով, սխալի հաղորդագրությունը «Չհաջողվեց թողարկել զանգի մեթոդը. Unit sendmail.service-ը բեռնված չէ»: կարելի է անտեսել։
Հին/հնացած սարքերի համար աջակցությունն ակտիվացնելու համար գործարկեք այս հրամանը (ըստ ցանկության, օգտագործեք միայն այն ժամանակ, երբ ցանկանում եք, որ հին փոստի սարքերը միանան, քանի որ այն թուլացնում է SSL/TLS կարգավորումը՝ թույլ տալով ավելի քիչ անվտանգ գաղտնագրումներ):
update-crypto-policies --set LEGACY
9 Տեղադրեք Getmail-ը
Getmail-ը կարող է տեղադրվել հետևյալ կերպ.
dnf install python2
cd /tmp
wget http://pyropus.ca/software/getmail/old-versions/getmail-5.14.tar.gz
tar xvfz getmail-5.14.tar.gz
cd getmail-5.14
python2 setup.py build
python2 setup.py install
10 Սահմանեք MySQL գաղտնաբառերը և կարգավորեք phpMyAdmin-ը
Սահմանեք գաղտնաբառեր MySQL արմատային հաշվի համար.
mysql_secure_installation
[root@server1 tmp]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] <-- ENTER
New password: <-- yourrootsqlpassword
Re-enter new password: <-- yourrootsqlpassword
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] <-- ENTER
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <-- ENTER
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] <-- ENTER
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] <-- ENTER
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
[root@server1 tmp]#
Այժմ մենք կարգավորում ենք phpMyAdmin-ը: Ստեղծեք այս phpMyAdmin կազմաձևման ֆայլը.
nano /etc/httpd/conf.d/phpmyadmin.conf
Ավելացնել այս բովանդակությունը ֆայլին.
# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin/>
<IfModule mod_authz_core.c>
# Apache 2.4
# <RequireAny>
# Require ip 127.0.0.1
# Require ip ::1
# </RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
Հաջորդը, մենք փոխում ենք նույնականացումը phpMyAdmin-ում cookie-ից http:
cp -pf /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
nano /usr/share/phpmyadmin/config.inc.php
[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]
Այնուհետև մենք ստեղծում ենք համակարգի գործարկման հղումները Apache-ի համար և սկսում ենք այն.
systemctl enable httpd
systemctl restart httpd
Այժմ դուք կարող եք ուղղորդել ձեր զննարկիչը դեպի http://server1.example.com/phpmyadmin/ կամ http://192.168.0.100/phpmyadmin/ և մուտք գործել օգտվողի անվան արմատով և ձեր նոր արմատային MySQL գաղտնաբառով:
11 Տեղադրեք Amavisd-new, SpamAssassin, ClamAV և Postgrey
Amavisd-new, SpamAssassin և ClamAV տեղադրելու համար գործարկեք հետևյալ հրամանը.
dnf -y install amavisd-new spamassassin clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd unzip bzip2 perl-DBD-mysql postgrey re2c
Այնուհետև մենք սկսում ենք freshclam, amavisd և clamd.amavisd:
sa-update
freshclam
systemctl enable amavisd.service
systemctl start amavisd.service
systemctl start clamd@amavisd.service
systemctl enable postgrey.service
systemctl start postgrey.service
Հաջորդ քայլում մենք կարգավորում ենք postgrey-ը: Բացեք ֆայլը /etc/sysconfig/postgrey խմբագրիչում.
nano /etc/sysconfig/postgrey
և փոխիր տողը.
POSTGREY_TYPE="--unix=/var/spool/postfix/postgrey/socket"
դեպի
POSTGREY_TYPE="--inet=10023"
Պահպանեք ֆայլը և վերագործարկեք postgrey-ը.
service postgrey restart
Amavisd-ը կարգավորելու համար խմբագրեք ֆայլը /etc/clamd.d/amavisd.conf:
nano /etc/clamd.d/amavisd.conf
և փոխիր տողը.
LocalSocket /run/clamd.amavisd/clamd.sock
դեպի
LocalSocket /var/spool/amavisd/clamd.sock
Պահպանեք փոխված կազմաձևման ֆայլը և վերագործարկեք ClamAV-ը.
systemctl restart clamd@amavisd.service
Այժմ մենք պետք է ստեղծենք համակարգային միավոր freshclam ծառայության համար: Ստեղծեք նոր ֆայլ /usr/lib/systemd/system/freshclam.service:
nano /usr/lib/systemd/system/freshclam.service
և այդ ֆայլում մուտքագրեք հետևյալ բովանդակությունը.
[Unit]
Description = ClamAV Scanner
After = network.target
[Service]
Type = forking
# if you want to scan more than one in a day change the number 1 with your desired number in below line.
ExecStart = /usr/bin/freshclam -d -c 1
Restart = on-failure
PrivateTmp =true
[Install]
WantedBy=multi-user.target
Պահպանեք ֆայլը, այնուհետև միացրեք և գործարկեք ծառայությունը:
systemctl enable freshclam.service
systemctl start freshclam.service
systemctl status freshclam.service
12 Apache-ի տեղադրում mod_php, mod_fcgi/PHP, PHP-FPM-ով
ISPConfig 3-ը թույլ է տալիս օգտագործել mod_php, mod_fcgi/PHP, cgi/PHP և PHP-FPM՝ յուրաքանչյուր կայքէջի հիման վրա:
Մենք կարող ենք տեղադրել Apache2-ը mod_php, mod_fcgid և PHP-ով հետևյալ կերպ.
dnf -y install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-mbstring php-mcrypt php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel php-fpm php-intl php-imagick php-pspell wget
Հաջորդը մենք բացում ենք /etc/php.ini...
nano /etc/php.ini
... և փոխեք սխալի մասին հաղորդումը (որպեսզի ծանուցումներն այլևս չցուցադրվեն), սահմանեք ժամային գոտին և չմեկնաբանեք cgi.fix_pathinfo=1:
[...]
;error_reporting = E_ALL & ~E_DEPRECATED
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is. For more information on PAppp.tldTH_INFO, see the cgi specs. Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]
date.timezone = 'Europe/Berlin'
[...]
Միացրեք httpd-ը և PHP-FPM-ը՝ բեռնման պահին սկսելու և PHP-FPM ծառայությունը սկսելու համար:
systemctl start php-fpm.service
systemctl enable php-fpm.service
systemctl enable httpd.service
Վերջապես, մենք վերագործարկում ենք Apache:
systemctl restart httpd.service
Այժմ մենք կավելացնենք Let's encrypt-ի աջակցությունը: ISPConfig-ն այժմ օգտագործում է acme.sh որպես Let's Encrypt հաճախորդ: Տեղադրեք acme.sh-ը՝ օգտագործելով հետևյալ հրամանը.
curl https://get.acme.sh | sh -s
13 mod_python-ի տեղադրում
Apache մոդուլը mod_python հասանելի չէ որպես RPM փաթեթ, հետևաբար մենք այն կկազմենք աղբյուրից։ Առաջին քայլը python-ի մշակման ֆայլերի տեղադրումն է և ընթացիկ mod_python տարբերակը ներբեռնելը որպես .tar.gz ֆայլ:
dnf -y install python3-devel
cd /usr/local/src/
wget http://dist.modpython.org/dist/mod_python-3.5.0.tgz
tar xfz mod_python-3.5.0.tgz
cd mod_python-3.5.0
այնուհետև կարգավորեք և կազմեք մոդուլը:
./configure --with-python=/usr/bin/python3
make
Կազմված մոդուլում կա սխալ, որը կհանգեցնի տեղադրման ձախողմանը «version="fatal. Ոչ git պահոցը (կամ ծնողական գրացուցակներից որևէ մեկը). .git: Ուղղելու համար: որ, գործարկեք այս sed հրամանը (հրամանը մեկ տող է):
sed -e 's/(git describe --always)/(git describe --always 2>\/dev\/null)/g' -e 's/`git describe --always`/`git describe --always 2>\/dev\/null`/g' -i $( find . -type f -name Makefile\* -o -name version.sh )
Այնուհետև տեղադրեք մոդուլը այս հրամանով:
make install
և միացրեք մոդուլը Apache-ում.
echo 'LoadModule python_module modules/mod_python.so' > /etc/httpd/conf.modules.d/10-python.conf
systemctl restart httpd.service
14 Տեղադրեք PureFTPd
PureFTPd-ը կարող է տեղադրվել հետևյալ հրամանով.
dnf -y install pure-ftpd
Այնուհետև ստեղծեք համակարգի գործարկման հղումները և գործարկեք PureFTPd:
systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service
Այժմ մենք կարգավորում ենք PureFTPd-ը, որպեսզի թույլատրի FTP և TLS նիստերը: FTP-ն շատ անապահով արձանագրություն է, քանի որ բոլոր գաղտնաբառերը և բոլոր տվյալները փոխանցվում են հստակ տեքստով: Օգտագործելով TLS-ը, ողջ հաղորդակցությունը կարող է գաղտնագրվել, այդպիսով FTP-ն ավելի անվտանգ դարձնելով:
OpenSSL-ն անհրաժեշտ է TLS-ին; OpenSSL-ը տեղադրելու համար մենք պարզապես գործարկում ենք.
dnf install openssl
Բացեք /etc/pure-ftpd/pure-ftpd.conf...
nano /etc/pure-ftpd/pure-ftpd.conf
Եթե ցանկանում եք թույլատրել FTP և TLS աշխատաշրջանները, սահմանեք TLS-ը 1-ի՝ հեռացնելով TLS գծի դիմաց գտնվող #ը: Խստորեն խորհուրդ է տրվում միացնել TLS-ը:
[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
# including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.
TLS 1
[...]
TLS օգտագործելու համար մենք պետք է ստեղծենք SSL վկայագիր: Ես այն ստեղծում եմ /etc/ssl/private/-ում, հետևաբար նախ ստեղծում եմ այդ գրացուցակը.
mkdir -p /etc/ssl/private/
Այնուհետև մենք կարող ենք ստեղծել SSL վկայագիր հետևյալ կերպ.
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Երկրի անուն (2 տառ ծածկագիր) [XX]. <-- Մուտքագրեք ձեր երկրի անունը (օրինակ՝ «DE»):
Նահանգի կամ նահանգի անունը (լրիվ անունը) []:<-- Մուտքագրեք ձեր նահանգի կամ նահանգի անունը .
Տեղի անվանումը (օրինակ՝ քաղաք) [Լռելյայն քաղաք].<-- Մուտքագրեք ձեր քաղաքը:
Կազմակերպության անվանումը (օրինակ՝ ընկերություն) [Default Company Ltd].<-- Մուտքագրեք ձեր կազմակերպության անունը (օր. , ձեր ընկերության անվանումը).
Կազմակերպական միավորի անվանումը (օրինակ՝ բաժին) []:<-- Մուտքագրեք ձեր կազմակերպական միավորի անունը (օրինակ՝ «ՏՏ բաժին»):
Ընդհանուր անունը (օրինակ՝ ձեր անունը կամ ձեր սերվերի հոսթի անունը) []:<-- Մուտքագրեք համակարգի լիովին որակավորված տիրույթի անունը (օրինակ՝ «server1.example.com»):
Էլ.փոստի հասցեն []:<-- Մուտքագրեք ձեր էլ.փոստի հասցեն:
Փոխեք SSL վկայագրի թույլտվությունները.
chmod 600 /etc/ssl/private/pure-ftpd.pem
Ստեղծեք DHParam ֆայլ.
openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048
Վերջապես, վերագործարկեք PureFTPd:
systemctl restart pure-ftpd.service
վերջ։ Այժմ կարող եք փորձել միանալ՝ օգտագործելով ձեր FTP հաճախորդը; այնուամենայնիվ, դուք պետք է կարգավորեք ձեր FTP հաճախորդը TLS օգտագործելու համար:
15 Տեղադրեք BIND
Մենք կարող ենք տեղադրել BIND-ը հետևյալ կերպ.
dnf -y install bind bind-utils haveged
Ստեղծեք գոյություն ունեցող /etc/named.conf ֆայլի կրկնօրինակում և ստեղծեք նորը հետևյալ կերպ.
cp /etc/named.conf /etc/named.conf_bak
cat /dev/null > /etc/named.conf
nano /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
allow-recursion {"none";};
recursion no;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.conf.local";
Ստեղծեք /etc/named.conf.local ֆայլը, որը ներառված է /etc/named.conf-ի վերջում (/etc/named.conf.local հետագայում կբնակեցվի ISPConfig-ով, եթե ISPConfig-ում ստեղծեք DNS գոտիներ):
touch /etc/named.conf.local
Այնուհետև մենք ստեղծում ենք գործարկման հղումները և սկսում BIND:
systemctl enable named.service
systemctl start named.service
systemctl enable haveged.service
systemctl start haveged.service
16 Տեղադրեք AWStats-ը
AWStats-ը կարող է տեղադրվել հետևյալ կերպ.
dnf -y install awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
Այլընտրանքային վեբ վիճակագրության «webalizer» հավելվածն այլևս հասանելի չէ CentOS 8-ի համար, այնպես որ դուք կկարողանաք օգտագործել միայն AWStats-ը:
17 Տեղադրեք Jailkit-ը
Jailkit-ն օգտագործվում է SSH օգտվողների և cronjob-երի chroot-ի համար: Այն կարող է տեղադրվել հետևյալ կերպ.
ln -s /usr/bin/python2 /usr/bin/python
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.21.tar.gz
tar xvfz jailkit-2.21.tar.gz
cd jailkit-2.21
./configure
make
make install
cd ..
rm -rf jailkit-2.21*
18 Տեղադրեք Fail2Ban-ը
Սա ընտրովի է, բայց խորհուրդ է տրվում, քանի որ ISPConfig մոնիտորը փորձում է ցույց տալ գրանցամատյանը:
dnf -y install iptables-services fail2ban fail2ban-systemd
systemctl stop firewalld.service
systemctl mask firewalld.service
systemctl disable firewalld.service
Այնուհետև մենք ստեղծում ենք /etc/fail2ban/jail.local ֆայլը և միացնում ենք ssh, էլփոստի և ftp ծառայության մոնիտորինգը:
nano /etc/fail2ban/jail.local
Ավելացրեք հետևյալ բովանդակությունը jail.local ֆայլում.
[sshd]
enabled = true
action = iptables[name=sshd, port=ssh, protocol=tcp]
[pure-ftpd]
enabled = true
action = iptables[name=FTP, port=ftp, protocol=tcp]
maxretry = 3
[dovecot]
enabled = true
action = iptables-multiport[name=dovecot, port="pop3,pop3s,imap,imaps", protocol=tcp]
maxretry = 5
[postfix-sasl]
enabled = true
action = iptables-multiport[name=postfix-sasl, port="smtp,smtps,submission", protocol=tcp]
maxretry = 3
Այնուհետև ստեղծեք համակարգի գործարկման հղումները fail2ban-ի համար և սկսեք այն.
systemctl enable fail2ban.service
systemctl start fail2ban.service
19 Տեղադրեք rkhunter
rkhunter-ը կարող է տեղադրվել հետևյալ կերպ.
dnf -y install rkhunter
20 Տեղադրեք Mailman-ը
Եթե ցանկանում եք կառավարել փոստային ցուցակները Mailman-ի հետ ձեր սերվերում, ապա տեղադրեք mailman-ը հիմա: Mailman-ը աջակցվում է ISPConfig-ի կողմից, այնպես որ դուք կկարողանաք ստեղծել նոր փոստային ցուցակներ ISPConfig-ի միջոցով ավելի ուշ:
dnf -y install mailman
Նախքան Mailman-ը սկսելը, պետք է ստեղծվի առաջին փոստային ցուցակը, որը կոչվում է mailman.
touch /var/lib/mailman/data/aliases
postmap /var/lib/mailman/data/aliases
/usr/lib/mailman/bin/newlist mailman
ln -s /usr/lib/mailman/mail/mailman /usr/bin/mailman
[root@server1 tmp]# /usr/lib/mailman/bin/newlist mailman
Մուտքագրեք ցուցակը վարող անձի էլ․ հասցեն. <-- ադմինիստրատորի էլփոստի հասցեն, օր. listadmin@example.com
Նախնական փոստատարի գաղտնաբառ. <-- ադմինիստրատորի գաղտնաբառ փոստատարների ցուցակի համար
Ձեր փոստային ցուցակի ստեղծումն ավարտելու համար պետք է խմբագրեք ձեր /etc/փոխանունները (կամ
համարժեքը) ավելացնելով հետևյալ տողերը և հնարավոր է գործարկել
«newaliases» ծրագիրը.
## mailman փոստային ցուցակ
փոստատար` "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin. "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/usr/lib/mailman/mail/mailman bounces mailman"< br />mailman-confirm՝ "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/usr/lib/mailman/mail/mailman join mailman"
mailman -հեռանալ՝ "|/usr/lib/mailman/mail/mailman leave mailman"
փոստատար-սեփականատեր. "|/usr/lib/mailman/mail/mailman owner mailman"
փոստատարի հարցում. " |/usr/lib/mailman/mail/mailman request mailman"
mailman-ubscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unubscribe: "|/usr/ lib/mailman/mail/mailman unsubscribe mailman"
Սեղմեք enter փոստատարի տիրոջը տեղեկացնելու համար... <-- ENTER
[root@server1 tmp]#
Բացեք /etc/aliases հետո...
nano /etc/aliases
... և ավելացրեք հետևյալ տողերը.
[...]
mailman: "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave: "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner: "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request: "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman"
Վազիր
newaliases
այնուհետև և վերագործարկեք Postfix-ը.
systemctl restart postfix.service
Այժմ բացեք Mailman Apache-ի կազմաձևման ֆայլը /etc/httpd/conf.d/mailman.conf...
nano /etc/httpd/conf.d/mailman.conf
... և ավելացրեք ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/ տողը: Մեկնաբանեք Alias /pipermail/ /var/lib/mailman/archives/public/ և ավելացրեք Alias /pipermail /var/lib/mailman/archives/public/ տողը:
#
# httpd configuration settings for use with mailman.
#
ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/
<Directory /usr/lib/mailman/cgi-bin/>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
#Alias /pipermail/ /var/lib/mailman/archives/public/
Alias /pipermail /var/lib/mailman/archives/public/
<Directory /var/lib/mailman/archives/public>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AddDefaultCharset Off
</Directory>
# Uncomment the following line, to redirect queries to /mailman to the
# listinfo page (recommended).
# RedirectMatch ^/mailman[/]*$ /mailman/listinfo
Վերագործարկեք Apache:
systemctl restart httpd.service
Ստեղծեք համակարգի գործարկման հղումները Mailman-ի համար և սկսեք այն.
systemctl enable mailman.service
systemctl start mailman.service
ISPConfig 3-ը տեղադրելուց հետո կարող եք մուտք գործել Mailman հետևյալ կերպ.
Դուք կարող եք օգտագործել /cgi-bin/mailman կեղծանունը բոլոր Apache vhost-ների համար (նկատի ունեցեք, որ suExec-ը և CGI-ն պետք է անջատված լինեն բոլոր vhost-ների համար, որոնցից ցանկանում եք մուտք գործել Mailman!), ինչը նշանակում է, որ դուք կարող եք մուտք գործել Mailman-ի ադմինիստրատորի միջերեսը ցուցակի համար: http://
http://
21 Տեղադրեք Roundcube վեբ փոստը
RoundCube վեբ փոստի հաճախորդը տեղադրելու համար ներբեռնեք wget-ի վերջին տարբերակը /tmp պանակ՝
cd /tmp
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.3/roundcubemail-1.4.3-complete.tar.gz
Բացեք tar.gz արխիվը և տեղափոխեք RoundCube աղբյուրը /usr/share/roundcubemail:
tar xfz roundcubemail-1.4.3-complete.tar.gz
mkdir /usr/share/roundcubemail
mv /tmp/roundcubemail-1.4.3/* /usr/share/roundcubemail/
chown -R root:root /usr/share/roundcubemail
chown apache /usr/share/roundcubemail/temp
chown apache /usr/share/roundcubemail/logs
Ստեղծեք roundcubemail.conf կազմաձևման ֆայլ նանո խմբագրիչով.
nano /etc/httpd/conf.d/roundcubemail.conf
Եվ այդ ֆայլին ավելացրեք հետևյալ բովանդակությունը.
#
# Round Cube Webmail is a browser-based multilingual IMAP client
#
Alias /roundcubemail /usr/share/roundcubemail
Alias /webmail /usr/share/roundcubemail
# Define who can access the Webmail
# You can enlarge permissions once configured
<Directory /usr/share/roundcubemail/>
Options none
AllowOverride Limit
Require all granted
</Directory>
# Define who can access the installer
# keep this secured once configured
<Directory /usr/share/roundcubemail/installer>
Options none
AllowOverride Limit
Require all granted
</Directory>
# Those directories should not be viewed by Web clients.
<Directory /usr/share/roundcubemail/bin/>
Order Allow,Deny
Deny from all
</Directory>
<Directory /usr/share/roundcubemail/plugins/enigma/home/>
Order Allow,Deny
Deny from all
</Directory>
Վերագործարկեք Apache:
systemctl restart httpd.service
Այժմ մեզ անհրաժեշտ է տվյալների բազա RoundCube փոստի համար, մենք այն նախաստորագրելու ենք հետևյալ կերպ.
mysql -u root -p
MariaDB-ում արագ օգտագործեք.
CREATE DATABASE roundcubedb;
CREATE USER roundcubeuser@localhost IDENTIFIED BY 'roundcubepassword';
GRANT ALL PRIVILEGES on roundcubedb.* to roundcubeuser@localhost ;
FLUSH PRIVILEGES;
exit
Ես օգտագործում եմ RoundCube տվյալների բազայի մանրամասները որպես օրինակ, խնդրում ենք փոխարինել արժեքները ձեր ընտրությամբ՝ անվտանգության նկատառումներից ելնելով:
Այժմ մենք կտեղադրենք RoundCube-ը դիտարկիչում՝ http://192.168.0.100/roundcubemail/installer հասցեով:
Այժմ ստեղծեք config.inc.php ֆայլը՝
nano /usr/share/roundcubemail/config/config.inc.php
<?php
/* Local configuration for Roundcube Webmail */
// ----------------------------------
// SQL DATABASE
// ----------------------------------
// Database connection string (DSN) for read+write operations
// Format (compatible with PEAR MDB2): db_provider://user:password@host/database
// Currently supported db_providers: mysql, pgsql, sqlite, mssql, sqlsrv, oracle
// For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php
// NOTE: for SQLite use absolute path (Linux): 'sqlite:////full/path/to/sqlite.db?mode=0646'
// or (Windows): 'sqlite:///C:/full/path/to/sqlite.db'
$config['db_dsnw'] = 'mysql://roundcubeuser:roundcubepassword@localhost/roundcubedb';
// ----------------------------------
// IMAP
// ----------------------------------
// The IMAP host chosen to perform the log-in.
// Leave blank to show a textbox at login, give a list of hosts
// to display a pulldown menu or set one host as string.
// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// Supported replacement variables:
// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname without the first part
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
// %s - domain name after the '@' from e-mail address provided at login screen
// For example %n = mail.domain.tld, %t = domain.tld
// WARNING: After hostname change update of mail_host column in users table is
// required to match old user data records with the new host.
$config['default_host'] = 'localhost';
$config['smtp_server'] = 'localhost';
$config['smtp_port'] = 25;
// provide an URL where a user can get support for this Roundcube installation
// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
$config['support_url'] = '';
// This key is used for encrypting purposes, like storing of imap password
// in the session. For historical reasons it's called DES_key, but it's used
// with any configured cipher_method (see below).
$config['des_key'] = 'pb0UucO0eqjgvhrqYlFTBVjE';
// ----------------------------------
// PLUGINS
// ----------------------------------
// List of active plugins (in plugins/ directory)
$config['plugins'] = array();
// Set the spell checking engine. Possible values:
// - 'googie' - the default (also used for connecting to Nox Spell Server, see 'spellcheck_uri' setting)
// - 'pspell' - requires the PHP Pspell module and aspell installed
// - 'enchant' - requires the PHP Enchant module
// - 'atd' - install your own After the Deadline server or check with the people at http://www.afterthedeadline.com before using their API
// Since Google shut down their public spell checking service, the default settings
// connect to http://spell.roundcube.net which is a hosted service provided by Roundcube.
// You can connect to any other googie-compliant service by setting 'spellcheck_uri' accordingly.
$config['spellcheck_engine'] = 'pspell';
$config['enable_installer'] = true;
Այնուհետև սեղմեք «շարունակել» վեբ տեղադրիչում: Հաջորդ էջում սեղմեք «Նախնականացնել տվյալների բազան» կոճակը:
Վերջապես, անջատեք Roundecubemail տեղադրիչը: Փոխեք RoundCube config.inc.php կազմաձևման ֆայլը
nano /usr/share/roundcubemail/config/config.inc.php
և փոխեք տողը.
$config['enable_installer'] = true;
մինչև՝
$config['enable_installer'] = false;
Roundcube-ն այժմ հասանելի է ձեր սերվերում /webmail և /roundcubemail անուններով.
http://192.168.0.100/վեբփոստ
RoundCube մուտքն այն էլփոստի հասցեն է և գաղտնաբառը, որը դուք ստեղծել եք հետագայում ISPConfig-ում:
22 Տեղադրեք ISPConfig 3.2
ISPConfig տեղադրիչը ձեզ համար կկարգավորի բոլոր ծառայությունները, ինչպիսիք են Postfix-ը, Dovecot-ը և այլն:
Այժմ դուք նաև հնարավորություն ունեք տեղադրողին թույլ տալ ստեղծել SSL vhost ISPConfig կառավարման վահանակի համար, որպեսզի ISPConfig-ը հասանելի լինի https://-ի միջոցով՝ http://-ի փոխարեն: Դրան հասնելու համար պարզապես սեղմեք ENTER, երբ տեսնեք այս հարցը. Ցանկանու՞մ եք ապահով (SSL) կապ ISPConfig վեբ ինտերֆեյսի (y,n) [y]:
ISPConfig 3.2 գիշերային կառուցումը տեղադրելու համար կատարեք հետևյալը.
cd /tmp
wget -O ispconfig.tar.gz https://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ispconfig.tar.gz
cd ispconfig3*/install/
Հաջորդ քայլը վազելն է.
php -q install.php
Սա կսկսի ISPConfig 3 տեղադրիչը: Տեղադրողը ձեզ համար կկարգավորի բոլոր ծառայությունները, ինչպիսիք են Postfix-ը, Dovecot-ը և այլն:
[root@server1 install]# php install.php
--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
--------------------------------------------------------------------------------
>> Initial configuration
Operating System: CentOS 8.2
Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with <ENTER>.
Tap in "quit" (without the quotes) to stop the installer.
Select language (en,de) [en]: <-- Hit Enter
Installation mode (standard,expert) [standard]: <-- Hit Enter
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: <-- Hit Enter
MySQL server hostname [localhost]: <-- Hit Enter
MySQL server port [3306]: <-- Hit Enter
MySQL root username [root]: <-- Hit Enter
MySQL root password []: <-- Ente the MySQL root password here
MySQL database to create [dbispconfig]: <-- Hit Enter
MySQL charset [utf8]: <-- Hit Enter
Configuring Postgrey
Configuring Postfix
Generating a 4096 bit RSA private key
................................++
.....................................................................................................................................................................................................................................................................................................................................................++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]: <-- Enter 2 Letter country code, e.g. US
State or Province Name (full name) []: <-- Enter anme of State or Province
Locality Name (eg, city) [Default City]: <-- Name of city
Organization Name (eg, company) [Default Company Ltd]: <-- Company name
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (eg, your name or your server's hostname) []: <-- Enter server hostname here, in my case: server1.example.com
Email Address []: <-- Enter Email address
Configuring mailman
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Jailkit
Configuring Pureftpd
Configuring BIND
Configuring Apache
Configuring vlogger
[INFO] service OpenVZ not detected
Configuring Bastille Firewall
[INFO] service Metronome XMPP Server not detected
Configuring Fail2ban
Configuring Apps vhost
Installing ISPConfig
ISPConfig Port [8080]: <-- Hit Enter
Admin password [fad579a6]: <-- Enter new password for ISPConfig admin user
Re-enter admin password []: <-- Repeat the password
Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <-- Hit Enter
Generating RSA private key, 4096 bit long modulus
.................................................................................++
.....++
e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]: <-- Enter 2 Letter country code, e.g. US
State or Province Name (full name) []: <-- Enter anme of State or Province
Locality Name (eg, city) [Default City]: <-- Name of city
Organization Name (eg, company) [Default Company Ltd]: <-- Company name
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (eg, your name or your server's hostname) []: <-- Enter server hostname here, in my case: server1.example.com
Email Address []: <-- Enter Email address
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- Hit Enter
An optional company name []: <-- Hit Enter
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Detect IP addresses
Restarting services ...
Installation completed.
Տեղադրողը ավտոմատ կերպով կարգավորում է բոլոր հիմնական ծառայությունները, ուստի ձեռքով կազմաձևման կարիք չկա:
23 Առաջին ISPConfig Մուտք
Այնուհետև կարող եք մուտք գործել ISPConfig 3՝ http(s)://server1.example.com:8080/ կամ http(s)://192.168.0.100:8080/ (http կամ https կախված է նրանից, թե ինչ եք ընտրել տեղադրման ընթացքում):
Մուտք գործեք օգտվողի անվան ադմինիստրատորի և գաղտնաբառի ադմինիստրատորի միջոցով (դուք պետք է փոխեք կանխադրված գաղտնաբառը ձեր առաջին մուտքից հետո).
23.1 ISPConfig 3 ձեռնարկ
Որպեսզի սովորեք, թե ինչպես օգտագործել ISPConfig 3, ես խստորեն խորհուրդ եմ տալիս ներբեռնել ISPConfig 3 ձեռնարկը:
Ավելի քան 300 էջերում այն ընդգրկում է ISPConfig-ի (ադմինիստրատոր, վերավաճառողներ, հաճախորդներ) հիմքում ընկած հայեցակարգը, բացատրում է, թե ինչպես տեղադրել և թարմացնել ISPConfig 3-ը, ներառում է հղում ISPConfig-ի բոլոր ձևերի և ձևերի դաշտերի համար, վավեր մուտքերի օրինակների հետ միասին, և տրամադրում է ձեռնարկներ։ ISPConfig 3-ի ամենատարածված առաջադրանքների համար: Այն նաև ցույց է տալիս, թե ինչպես ձեր սերվերն ավելի անվտանգ դարձնել, և վերջում ունի անսարքությունների վերացման բաժին:
24 Ներբեռնեք որպես վիրտուալ մեքենա
Այս կարգավորումը հասանելի է որպես վիրտուալ մեքենայի ներբեռնում ova/ovf ձևաչափով (համատեղելի է VMWare-ի և Virtualbox-ի հետ) howtoforge-ի բաժանորդների համար:
ՎՄ-ի մուտքի մանրամասները
- Արմատային գաղտնաբառը՝ howtoforge
- ISPConfig «ադմինիստրատորի» օգտատիրոջ գաղտնաբառն է՝ howtoforge
- Կա ևս մեկ shell օգտատեր՝ «howtoforge» անունով և գաղտնաբառով՝ howtoforge
Խնդրում ենք փոխել երկու գաղտնաբառերը առաջին մուտքի ժամանակ:
- VM-ի IP հասցեն է 192.168.0.100
25 Հղումներ
- CentOS: http://www.centos.org/
- ISPConfig: http://www.ispconfig.org/