mirror of
https://github.com/wspimentel/ispconfigubuntu.git
synced 2026-08-24 10:13:32 -05:00
Atualizações
This commit is contained in:
+138
-11
@@ -27,10 +27,13 @@ MAINTAINER Weberson S Pimentel <weberson.pimentel@hotmail.com> version: 0.1
|
||||
# --- 1 Inciando
|
||||
RUN apt-get -y update && apt-get -y upgrade
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get update && apt-get install --assume-yes apt-utils
|
||||
RUN apt-get -y update && apt-get -y upgrade && apt-get -y install rsyslog rsyslog-relp logrotate supervisor screenfetch nano apt-utils
|
||||
|
||||
# --- 2 Instalando o SSH server
|
||||
RUN apt-get -y install ssh openssh-server rsync
|
||||
#RUN apt-get -y install ssh openssh-server rsync
|
||||
RUN apt-get -qq update && apt-get -y -qq install ssh openssh-server rsync && \
|
||||
mkdir /root/.ssh && touch /root/.ssh/authorized_keys
|
||||
RUN sed -i 's/^#AuthorizedKeysFile/AuthorizedKeysFile/g' /etc/ssh/sshd_config
|
||||
|
||||
# --- 3 Alterar o shell padrão
|
||||
RUN echo "dash dash/sh boolean false" | debconf-set-selections
|
||||
@@ -51,10 +54,14 @@ RUN apt-get -y install ntp ntpdate
|
||||
RUN echo -n "Removing Sendmail... " service sendmail stop hide_output update-rc.d -f sendmail remove apt_remove sendmail
|
||||
|
||||
# --- 7 Install Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils
|
||||
RUN echo 'mysql-server mysql-server/root_password password pass' | debconf-set-selections \
|
||||
&& echo 'mysql-server mysql-server/root_password_again password pass' | debconf-set-selections \
|
||||
&& echo 'mariadb-server mariadb-server/root_password password pass' | debconf-set-selections \
|
||||
&& echo 'mariadb-server mariadb-server/root_password_again password pass' | debconf-set-selections
|
||||
#RUN echo 'mysql-server mysql-server/root_password password pass' | debconf-set-selections \
|
||||
#&& echo 'mysql-server mysql-server/root_password_again password pass' | debconf-set-selections \
|
||||
#&& echo 'mariadb-server mariadb-server/root_password password pass' | debconf-set-selections \
|
||||
#&& echo 'mariadb-server mariadb-server/root_password_again password pass' | debconf-set-selections
|
||||
RUN echo "mariadb-server mariadb-server/root_password_again password pass" | debconf-set-selections
|
||||
RUN echo "mariadb-server mariadb-server/root_password password pass" | debconf-set-selections
|
||||
RUN echo "mariadb-server-10.0 mysql-server/root_password password pass" | debconf-set-selections
|
||||
RUN echo "mariadb-server-10.0 mysql-server/root_password_again password pass" | debconf-set-selections
|
||||
RUN echo -n "Installing SMTP Mail server (Postfix)... " \
|
||||
&& echo "postfix postfix/main_mailer_type select Internet Site" | debconf-set-selections \
|
||||
&& echo "postfix postfix/mailname string contato@seusite.con.br" | debconf-set-selections
|
||||
@@ -63,8 +70,8 @@ ADD ./etc/postfix/master.cf /etc/postfix/master.cf
|
||||
RUN mv /etc/mysql/mariadb.conf.d/50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf.backup
|
||||
ADD ./etc/mysql/mariadb.conf.d/50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf
|
||||
# RUN apt-get -y install expect
|
||||
#RUN mv /etc/mysql/ubuntu.cnf /etc/mysql/ubuntu.cnf.backup
|
||||
#ADD ./etc/mysql/ubuntu.cnf /etc/mysql/ubuntu.cnf
|
||||
RUN mv /etc/mysql/debian.cnf /etc/mysql/debian.cnf.backup
|
||||
ADD ./etc/mysql/debian.cnf /etc/mysql/debian.cnf
|
||||
ADD ./etc/security/limits.conf /etc/security/limits.conf
|
||||
RUN mkdir -p /etc/systemd/system/mysql.service.d/
|
||||
ADD ./etc/systemd/system/mysql.service.d/limits.conf /etc/systemd/system/mysql.service.d/limits.conf
|
||||
@@ -93,9 +100,129 @@ RUN cd /opt/metronome && ./configure --ostype=debian --prefix=/usr && make && ma
|
||||
RUN echo 'phpmyadmin phpmyadmin/dbconfig-install boolean true' | debconf-set-selections \
|
||||
&& echo 'phpmyadmin phpmyadmin/mysql/admin-pass password pass' | debconf-set-selections \
|
||||
&& echo 'phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2' | debconf-set-selections
|
||||
RUN service mysql start && apt-get -y install apache2 apache2-doc apache2-utils libapache2-mod-php php7.2 php7.2-common php7.2-gd php7.2-mysql php7.2-imap phpmyadmin php7.2-cli php7.2-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby libapache2-mod-python php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl memcached php-memcache php-imagick php-gettext php7.2-zip php7.2-mbstring php-soap php7.2-soap
|
||||
RUN a2enmod suexec rewrite ssl actions include dav_fs dav auth_digest cgi
|
||||
#RUN service mysql start && apt-get -y install apache2 apache2-doc apache2-utils libapache2-mod-php php7.2 php7.2-common php7.2-gd php7.2-mysql php7.2-imap phpmyadmin php7.2-cli php7.2-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby libapache2-mod-python php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl memcached php-memcache php-imagick php-gettext php7.2-zip php7.2-mbstring php-soap php7.2-soap
|
||||
#RUN a2enmod suexec rewrite ssl actions include dav_fs dav auth_digest cgi
|
||||
#headers
|
||||
#ADD ./etc/apache2/conf-available/httpoxy.conf /etc/apache2/conf-available/httpoxy.conf
|
||||
#RUN a2enconf httpoxy
|
||||
#RUN echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf
|
||||
#RUN sudo a2enconf servername
|
||||
RUN echo $(grep $(hostname) /etc/hosts | cut -f1) localhost >> /etc/hosts && apt-get -y install apache2 apache2-doc apache2-utils libapache2-mod-php php7.2 php7.2-common php7.2-gd php7.2-mysql php7.2-imap phpmyadmin php7.2-cli php7.2-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby libapache2-mod-python php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl memcached php-memcache php-imagick php-gettext php7.2-zip php7.2-mbstring php-soap php7.2-soap
|
||||
RUN echo "ServerName localhost" > /etc/apache2/conf-available/servername.conf && a2enconf servername
|
||||
ADD ./etc/apache2/conf-available/httpoxy.conf /etc/apache2/conf-available/httpoxy.conf
|
||||
RUN a2enconf httpoxy
|
||||
RUN a2enmod suexec rewrite ssl actions include dav_fs dav auth_digest cgi headers && a2enconf httpoxy && a2dissite 000-default && service apache2 restart
|
||||
|
||||
# --- 12 PHP Opcode cache
|
||||
RUN apt-get -y install php7.2-opcache php-apcu
|
||||
|
||||
# --- 13 PHP-FPM
|
||||
RUN apt-get -y install php7.2-fpm
|
||||
RUN a2enmod actions proxy_fcgi alias
|
||||
RUN service apache2 restart
|
||||
|
||||
# --- 14 Install HHVM (HipHop Virtual Machine)
|
||||
RUN apt-get -y install hhvm
|
||||
|
||||
# --- 15 Install Let's Encrypt
|
||||
#RUN apt-get -y install certbot
|
||||
#RUN apt-get -y install python-certbot-apache -t jessie-backports
|
||||
RUN apt-get -y install python-certbot-apache
|
||||
|
||||
# --- 16 Install Mailman
|
||||
RUN echo 'mailman mailman/default_server_language en' | debconf-set-selections
|
||||
RUN apt-get -y install mailman
|
||||
ADD ./etc/aliases /etc/aliases
|
||||
RUN newaliases
|
||||
RUN service postfix restart
|
||||
RUN ln -s /etc/mailman/apache.conf /etc/apache2/conf-enabled/mailman.conf
|
||||
RUN service apache2 restart
|
||||
|
||||
# --- 17 Install PureFTPd and Quota
|
||||
RUN apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool
|
||||
RUN sed -i 's/VIRTUALCHROOT=false/VIRTUALCHROOT=true/g' /etc/default/pure-ftpd-common
|
||||
RUN sed -i 's/STANDALONE_OR_INETD=inetd/STANDALONE_OR_INETD=standalone/g' /etc/default/pure-ftpd-common
|
||||
RUN sed -i 's/UPLOADSCRIPT=/UPLOADSCRIPT=\/etc\/pure-ftpd\/clamav_check.sh/g' /etc/default/pure-ftpd-common
|
||||
ADD ./etc/pure-ftpd/clamav_check.sh /etc/pure-ftpd/clamav_check.sh
|
||||
RUN echo 2 > /etc/pure-ftpd/conf/TLS
|
||||
RUN echo 1 > /etc/pure-ftpd/conf/CallUploadScript
|
||||
RUN mkdir -p /etc/ssl/private/
|
||||
RUN openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -subj "/C=DE/ST=Karlsruhe/L=Baden-Wuerttemberg/O=IT/CN=$HOSTNAME" -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
|
||||
RUN chmod 600 /etc/ssl/private/pure-ftpd.pem
|
||||
|
||||
# --- 18 Install BIND DNS Server
|
||||
RUN apt-get -y install bind9 dnsutils haveged
|
||||
RUN systemctl enable haveged
|
||||
#RUN systemctl start haveged
|
||||
|
||||
# --- 19 Install Vlogger, Webalizer, and AWStats
|
||||
RUN apt-get -y install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl
|
||||
ADD etc/cron.d/awstats /etc/cron.d/
|
||||
|
||||
# --- 20 Install Jailkit
|
||||
RUN apt-get -y install build-essential autoconf automake libtool flex bison debhelper binutils
|
||||
RUN cd /tmp \
|
||||
&& wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz \
|
||||
&& tar xvfz jailkit-2.19.tar.gz \
|
||||
&& cd jailkit-2.19 \
|
||||
&& echo 5 > debian/compat \
|
||||
&& ./debian/rules binary \
|
||||
&& cd /tmp \
|
||||
&& rm -rf jailkit-2.19*
|
||||
|
||||
# --- 21 Install fail2ban
|
||||
RUN apt-get -y install fail2ban
|
||||
ADD ./etc/fail2ban/jail.local /etc/fail2ban/jail.local
|
||||
ADD ./etc/fail2ban/filter.d/pureftpd.conf /etc/fail2ban/filter.d/pureftpd.conf
|
||||
ADD ./etc/fail2ban/filter.d/dovecot-pop3imap.conf /etc/fail2ban/filter.d/dovecot-pop3imap.conf
|
||||
RUN echo "ignoreregex =" >> /etc/fail2ban/filter.d/postfix-sasl.conf
|
||||
#RUN service fail2ban restart
|
||||
|
||||
# --- 22 UFW firewall
|
||||
RUN apt-get install ufw
|
||||
|
||||
# --- 23 Install RoundCube
|
||||
RUN service mysql start && apt-get -y install roundcube roundcube-core roundcube-mysql roundcube-plugins
|
||||
ADD ./etc/apache2/conf-enabled/roundcube.conf /etc/apache2/conf-enabled/roundcube.conf
|
||||
ADD ./etc/roundcube/config.inc.php /etc/roundcube/config.inc.php
|
||||
RUN service apache2 restart
|
||||
|
||||
# --- 24 Install ISPConfig 3
|
||||
RUN cd /tmp \
|
||||
&& wget -O ISPConfig-3.1-dev.tar.gz https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1 \
|
||||
&& tar xfz ISPConfig-3.1-dev.tar.gz \
|
||||
&& mv ispconfig3-stable-3.1* ispconfig3_install
|
||||
|
||||
# Install ISPConfig
|
||||
ADD ./autoinstall.ini /tmp/ispconfig3_install/install/autoinstall.ini
|
||||
RUN service mysql restart && php -q /tmp/ispconfig3_install/install/install.php --autoinstall=/tmp/ispconfig3_install/install/autoinstall.ini
|
||||
RUN sed -i 's/^NameVirtualHost/#NameVirtualHost/g' /etc/apache2/sites-enabled/000-ispconfig.vhost && sed -i 's/^NameVirtualHost/#NameVirtualHost/g' /etc/apache2/sites-enabled/000-ispconfig.conf
|
||||
|
||||
ADD ./etc/postfix/master.cf /etc/postfix/master.cf
|
||||
ADD ./etc/clamav/clamd.conf /etc/clamav/clamd.conf
|
||||
|
||||
RUN echo "export TERM=xterm" >> /root/.bashrc
|
||||
|
||||
EXPOSE 20/tcp 21/tcp 22/tcp 53 80/tcp 443/tcp 953/tcp 8080/tcp 30000 30001 30002 30003 30004 30005 30006 30007 30008 30009 3306
|
||||
|
||||
# ISPCONFIG Initialization and Startup Script
|
||||
ADD ./start.sh /start.sh
|
||||
ADD ./supervisord.conf /etc/supervisor/supervisord.conf
|
||||
ADD ./etc/cron.daily/sql_backup.sh /etc/cron.daily/sql_backup.sh
|
||||
#ADD ./autoinstall.ini /tmp/ispconfig3_install/install/autoinstall.ini
|
||||
RUN chmod 755 /start.sh
|
||||
RUN mkdir -p /var/run/sshd
|
||||
RUN mkdir -p /var/log/supervisor
|
||||
RUN mv /bin/systemctl /bin/systemctloriginal
|
||||
ADD ./bin/systemctl /bin/systemctl
|
||||
RUN mkdir -p /var/backup/sql
|
||||
|
||||
RUN service mysql start \
|
||||
&& echo "FLUSH PRIVILEGES;" | mysql -u root
|
||||
|
||||
|
||||
VOLUME ["/var/www/","/var/mail/","/var/backup/","/var/lib/mysql","/etc/","/usr/local/ispconfig/","/var/log/","/var/www/apps/"]
|
||||
|
||||
# Must use double quotes for json formatting.
|
||||
CMD ["/usr/bin/supervisord", "--configuration=/etc/supervisor/supervisord.conf"]
|
||||
|
||||
CMD ["/bin/bash", "/start.sh"]
|
||||
|
||||
Reference in New Issue
Block a user