Debian 9 Servidor WWW
Debian 9 Servidor WWW
Debian 9 Servidor WWW
/ => 30 GB ext3
/boot => 1 GB ext2
/tmp => 10 GB ext3
/var/log => 10 GB ext3
/var/lib/postgres => depende del tamaño de disco duro y uso btrfs
/var/lib/mysql => depende del tamaño de disco duro y uso btrfs
swap => máximo 4 GB de RAM
/var/www => resto del disco ext4
nameserver 190.202.124.227
search inia.gob.ve
127.0.0.1 localhost
Dir-IP nombre-equipo.inia.gob.ve nombre-equipo
8. Corregir fecha y hora => date - -set=”Día Mes fecha hora militar (hh:mm:ss) VET año”
Día = Sun, Mon, Tue, Wed, Thu, Fri, Sat
Mes = Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
Ahora si se quiere es sincronizar con los husos horarios mundiales se debe instalar =>
aptitude install ntp ntpdate
y ejecutar manualmente y una sola vez el comando => ntpdate-debian
para verificar utilizaremos => ntpdate cl.pool.ntp.org
y => grep ntpd /var/log/syslog para verificación a través de los log.
12. Bloquear el acceso de root desde el SSH, editando con nano /etc/ssh/sshd_config y setear
la opción PermitRootLogin no
15. Modificar directivas de seguridad del apache con => nano /etc/apache2/conf-
available/security.conf y cambiar a ServerTokens Prod y ServerSignature Off. Reiniciar el
apache.
16. Instalar mysql
aptitude install mysql-server php7.0-mysql
Para que MySQL trabaje en red editar con nano /etc/mysql/mariadb.conf.d/50-server.cnf
Comentar #bind-address =127.0.0.1 y reiniciar el mysql.
Reiniciar Apache
alien oracle-instantclient-basic_11.1.0.1-2_i386.rpm
alien oracle-instantclient-devel_11.1.0.1-2_i386.rpm
alien oracle-instantclient-sqlplus_11.1.0.1-2_i386.rpm
Los instalamos:
dpkg -i oracle-instantclient-basic_11.1.0.1-2_i386.deb
dpkg -i oracle-instantclient-devel_11.1.0.1-2_i386.deb
dpkg -i oracle-instantclient-sqlplus_11.1.0.1-2_i386.deb
mkdir /etc/oracle
nano /etc/oracle/tnsnames.ora
PRESU.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 192.168.1.15)
(Port = 1521)
)
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 192.168.1.15)
(Port = 1526)
)
)
(CONNECT_DATA = (SID = PRESU)
)
)
Ahora tendremos que editar el .bashrc del root y le añadiremos las siguientes lineas:
nano /root/.bashrc
export TNS_ADMIN=/etc/oracle
export SQLPATH=/usr/lib/oracle/11.2/client/bin
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$SQLPATH
/etc/init.d/apache2 reload
reboot
#NameVirtualHost dominio1.inia.gob.ve
<VirtualHost dominio1.inia.gob.ve>
ServerAdmin usuario1@inia.gob.ve
ServerName dominio1.inia.gob.ve
ServerAlias www.dominio1.inia.gob.ve *.dominio1.inia.gob.ve
DocumentRoot /var/www/dominio1/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/dominio1>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
# RedirectMatch ^/$ /apache2-default/
</Directory>
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.dominio1.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.dominio1.log combined
ServerSignature Off
</VirtualHost>
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 250
MaxClients 250
MaxRequestsPerChild 1000
</IfModule>
Reiniciar Apache => /etc/init.d/apache2 restart
28. Acelera tu servidor Apache + PHP con APC (Alternate PHP Cache). Instalamos algunos
paquetes necesarios => aptitude install php-pear php7.0-dev libapache2-mod-perl2
libapache2-mod-python
Instalamos APC => pecl install apc
Ahora que ya tenemos instalado APC, vamos a añadirlo a la configuración de apache. El
siguiente comando => echo "extension=apc.so" > /etc/php/7.0/apache2/conf.d/apc.ini,
por ultimo reiniciar apache.
29. Comandos a2enmod y a2dismod para instalar y desinstalar módulos; a2enconf y a2disconf
para instalar y desinstalar módulos de configuración para apache2
31. Para proteger el acceso al servidor instalaremos => aptitude install fail2ban
Copiaremos el archivo de configuración para que sea nuestro archivo de trabajo con =>
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Editamos con => nano /etc/fail2ban/jail.local y modificamos
ignoreip = 127.0.0.1 192.168.X.0/24 ó 192.168.X.X (dirección o rango IP a ignorar)
bantime = 86400 (tiempo a ser baneado 24h * 60 * 60 = 86400 segundos)
maxretry = 3 (número de intento fallidos permitidos)
y por últimos las jaulas a configurar agregando en la zona destinada para esto
Agregar SSH=> [ssh]
enabled = true
port = ssh
filter = sshd
action = iptables[name=SSH, port=22, protocol=tcp]
logpath = /var/log/auth.log
maxretry = 3 .Guardar y reiniciar fail2ban
33. Con alguno de los navegadores de Internet entrar a https://xx.xx:10000, donde xx.xx es el
dominio o la dirección ip según el caso, utilizando como usuario y clave la misma del
servidor.
34. Actualizar el Webmin, configurar el idioma a español y cambiar el tema (MSC Linux
Theme).
35. Instalar Webalizer a través del Webmin y configurarlo para cada uno de los site.
Permisología:
Tips: Para instalar un paquete rpm en Debian puedes convertirlo con el comando alien –d
archivo.rpm, luego lo puede instalar normalmente, ahora si lo que desea es convertirlo e instalarlo
de una vez puede utilizar alien –i archivo.rpm.
nano hora.php
<?
?>
vmstat 2 (los últimos datos us, sy e id son unos de los más importantes en cuanto a
información para el administrador que corresponden a user, system e idle
respectivamente son usuario, sistema y desocupado.
Si tenemos configuradas dos tarjetas de red y una de las dos pierde la conexión, revisar route y
si no aparece agregar con:
fdisk –l /dev/sdx
blkid /ruta/deldisco
Memoria disponible
free –m o con –g
Información de la memoria
cat /proc/meminfo
Purgar el equipo
aptitude purge ~c
Revisar si está instalado un paquete y que versión tiene
dpkg -s paquete