Professional Documents
Culture Documents
Publicado por Rafael Rocha El 12 - septiembre - 2013 0 Comentarios Para CentOS sin paquetera pre-instalada
*****INSTALAR PAQUETERIA***** yum groupinstall Development Tools yum install openssl openssl-devel yum install pcre-devel jwhois
yum install net-snmp-devel libxml2 libxml2-devel bzip2-libs bzip2-devel libc-client libc-client-devel yum install openldap-devel
yum install krb5 krb5-devel krb5-libs pam-devel libicu-devel yum install krb5-appl-clients.x86_64 krb5-appl-servers.x86_64
yum install mhash-0.9.9.9-3.el6.x86_64.rpm yum install libmcrypt-2.5.8-9.el6.x86_64.rpm yum install libmcrypt-devel-2.5.8-9.el6.x86_64.rpm yum install mcrypt-2.6.8-3.el6.x86_64.rpm ************************************** *****INSTALAR APACHE******** cd /usr/src wget http://apache.webxcreen.org//httpd/httpd-2.4.6.tar.gz wget http://apache.webxcreen.org//apr/apr-1.4.8.tar.gz wget http://apache.webxcreen.org//apr/apr-util-1.5.2.tar.gz tar xvfz httpd-2.4.6.tar.gz tar xvfz apr-1.4.8.tar.gz tar xvfz apr-util-1.5.2.tar.gz mv apr-1.4.8 /usr/src/httpd-2.4.6/srclib/apr mv apr-util-1.5.2 /usr/src/httpd-2.4.6/srclib/apr-util
cd /usr/src/httpd-2.4.6
./configure prefix=/etc/httpd disable-autoindex disable-asis disable-userdir enable-authnz-ldap enable-cache enable-headers enable-ldap enable-mem-cache with-mpm=prefork enable-rewrite enable-so enable-speling enable-ssl withgdbm with-included-apr with-ldap with-z
*****CONFIGURAR IPTABLES PARA APACHE***** ####Si se tiene instalado iptables es necesario configurarlo nano /etc/sysconfig/iptables
####Agregar las siguientes lneas ANTES de los REJECT. ####El puerto 80 es para http. El 443 para SSL y solo es necesario abrirlo si se activa. -A INPUT -m state state NEW -m tcp -p tcp dport 80 -j ACCEPT -A INPUT -m state state NEW -m tcp -p tcp dport 443 -j ACCEPT
*****SEGURIDAD PARA APACHE***** ####Crear un usuario para que apache se corra bajo ese usuario en particular groupadd apache useradd -d /etc/httpd/htdocs -g apache -s /bin/false apache
####Modificar el httpd.conf y cambiar el usuario y grupo agregando: User apache Group apache
####Reiniciar el servicio de apache y correr el siguiente comando para comprobar que se ha ####cambiado el usuario ps -ef | grep -i http | awk {print $1}
####Permitir que apache pueda escribir en tmp cd / setfacl -R -m u:apache:rwx tmp setfacl -R -m d:u:apache:rwx tmp
####Restringir el acceso al directorio raz y no permitir mostrar archivos cuando no hay index ####y no permitir el uso de .htaccess
####Para evitar que se muestren los archivos cuando no hay un index es necesario poner la ####opcin -Indexes o None. Para evitar el uso no autorizado de .htaccess y evitar que los ####usuarios sobre escriban las reglas del apache mediante los mismos es necesario poner ####AllowOverride None.Editar el archivo httpd.conf poniendo: <Directory /> Options None AllowOverride none Require all denied </Directory>
####Evitar que se de toda la informacin del Apache y el sistema operativo ####Modificar en el archivo httpd.conf la bandera ServerTokens y si no se encuentra ####agregarla con el siguiente valor: ServerTokens Prod ****************************************** *****HABILITAR SSL EN APACHE***** ####Modifcar el archivo httpd.conf ####Agregar o descomentar las siguientes lneas segn corresponda #### LoadModule ssl_module modules/mod_ssl.so #### LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
####Si es necesario agregar o quitar opciones en el archivo httpd-ssl.conf, hacerlo. ####Predeterminadamente no es necesario hacer ningn cambio nano /etc/httpd/conf/extra/httpd-ssl.conf
####Generar certificados, pedir una contrasea que hay que recordar ya que se ####utilizar cada vez que se inicie el Apache cd /usr/src openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt cp server.key /etc/httpd/conf cp server.crt /etc/httpd/conf
####Iniciar Apache. A la hora de iniciar el apache nos pedir la contrasea que se escogi para ####el key que se gener anteriormente
####Hacer que se pueda llamar directamente al servicio de apache echo pathmunge /etc/httpd/bin > /etc/profile.d/httpd.sh chmod +x /etc/profile.d/httpd.sh . /etc/profile ####Despues de esto se puede mandar llamar directamente a Apache donde sea que se est. ####Ejem: apachectl start ************************************** *****INSTALAR LIBICONV***** cd /usr/src wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz tar xvfz libiconv-1.14.tar.gz cd libiconv-1.14.tar.gz ./configure prefix=/usr/local make make install *********************************
wget http://www.ijg.org/files/jpegsrc.v9.tar.gz tar xvfz jpegsrc.v9.tar.gz cd jpeg-9 ./configure CFLAGS=-O2 -fPIC prefix=/usr/local make make install **********************************
*****INSTALAR LIBPNG***** cd /usr/src wget http://softlayer-dal.dl.sourceforge.net/project/libpng/libpng16/1.6.3/libpng1.6.3.tar.gz tar xvfz libpng-1.6.3.tar.gz cd libpng-1.6.3 cp scripts/makefile.linux makefile make make install ********************************
tar xvfz curl-7.32.0.tar.gz cd curl-7.32.0 ./configure prefix=/usr/local make make install ***************************** *****INSTALAR FREETYPE***** cd /usr/src wget http://softlayer-dal.dl.sourceforge.net/project/freetype/freetype2/2.5.0/freetype2.5.0.1.tar.gz tar xvfz freetype-2.5.0.1.tar.gz cd freetype-2.5.0.1 ./configure prefix=/usr/local make make install ***********************************
*****INSTALAR IMAP***** cd /usr/src wget ftp://ftp.cac.washington.edu/mail/imap.tar.Z tar xvfz imap.tar.Z -C /usr/local cd /usr/local/imap-2007f
####editar src/osdep/unix/os_art.c y src/osdep/unix/os_sv2.c ####cambiar #define FD_SETSIZE 256 por #define FD_SETSIZE 32768
ln -s /usr/lib64/openssl/engines/ /usr/local/ssl ln -s /usr/include/ /usr/local/ssl/include make lnp SSLTYPE=unix EXTRACFLAGS=-fPIC mkdir lib mkdir include cp c-client/*.c lib/ cp c-client/*.h include/ cp c-client/c-client.a lib/libc-client.a ***************************** *****INSTALAR PHP***** cd /usr/src/ wget http://www.php.net/get/php-5.5.3.tar.gz/from/mx1.php.net/mirror tar xvfz php-5.5.3.tar.gz cd php-5.5.3
./configure enable-bcmath enable-calendar enable-dom enable-ftp enable-gdnative-ttf enable-intl enable-mbstring enable-pcntl enable-soap enable-sockets enable-sysvmsg enable-sysvsem enable-sysvshm enable-zip withapxs2=/etc/httpd/bin/apxs with-bz2 with-config-file-path=/etc/httpd/conf withcurl=/usr/local with-freetype-dir=/usr/local with-gd with-gettext withiconv=/usr/local with-imap=/usr/local/imap-2007f with-imap-ssl with-jpegdir=/usr/local with-ldap with-ldap-sasl with-mcrypt with-mysql with-mysqli with-mysql-sock=/var/lib/mysql/mysql.sock with-openssl with-pear with-pngdir=/usr/local with-snmp with-xmlrpc with-zlib with-zlib-dir
####Modificar el httpd.conf de Apache y agregar, modificar o descomentar las siguientes lneas: LoadModule php5_module modules/libphp5.so DirectoryIndex index.html index.htm index.php AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps ####Reiniciar el servicio de Apache *******************************
*****Seguridad para PHP**** ####Evitar que se muestre la versin de PHP en las peticiones editando el archivo php.ini ####y cambiando la bandera expose_php de la siguiente manera: expose_php = Off *******************************
wget http://www.pdflib.com/binaries/PDFlib/705/PDFlib-Lite-7.0.5p3.tar.gz tar xvfz PDFlib-Lite-7.0.5p3.tar.gz cd PDFlib-Lite-7.0.5p3 ./configure prefix=/usr/local make make install
pecl install pdflib ####Cuando pregunte el directorio proporcionar /usr/local ####Una vez terminado modificar el php.ini y agregar la extension extension=pdf.so ####Reiniciar Apache *****************************************************
####Descargar la libreria desde https://github.com/libharu/libharu/tarball/master ####Ir al directorio de descarga y descomprimir tar xvfz libharu-libharu-RELEASE_2_3_0RC2-61-g22e741e.tar -C /usr/src
make make install ####Una vez terminado modificar el php.ini y agregar la extension extension=haru.so ####Reiniciar Apache ************************************************* *****INSTALAR MYSQL***** yum remove mysql* mysql-* MYSQL-*
cd /usr/src
wget http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-shared-5.6.131.el6.x86_64.rpm wget http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.131.el6.x86_64.rpm wget http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.131.el6.x86_64.rpm wget http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-client-5.6.131.el6.x86_64.rpm wget http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-devel-5.6.131.el6.x86_64.rpm
yum install MySQL-shared-5.6.13-1.el6.x86_64.rpm yum install MySQL-shared-compat-5.6.13-1.el6.x86_64.rpm yum install MySQL-server-5.6.13-1.el6.x86_64.rpm yum install MySQL-client-5.6.13-1.el6.x86_64.rpm yum install MySQL-devel-5.6.13-1.el6.x86_64.rpm
####Cambiar el password actual, segn el ejemplo siguente. (Suponiendo que el password ####actual es abc y que el password nuevo es 123) mysqladmin -u root -pabc password 123
####Eliminar el archivo del password generado anteriormente rm -f /root/.mysql_secret ********************************* *****INSTALAR JOOMLA***** cd /etc/httpd/htdocs mkdir joomla cd joomla
wget http://downloads.joomlacode.org/frsrelease/8/3/4/83487/Joomla_3.1.5-StableFull_Package.zip
####$source = preg_replace(/&#(\d+);/me, utf8_encode(chr(\\1)), $source); // decimal notation ####$source = preg_replace(/&#x([a-f0-9]+);/mei, utf8_encode(chr(0x\\1)), $source); // hex notation
####Por las siguientes lineas: ####$source = preg_replace_callback(/&#x(\d+);/mi, function($m){return utf8_encode(chr(0x.$m[1]));}, $source); // decimal notation ####$source = preg_replace_callback(/&#x([a-f0-9]+);/mi, function($m){return utf8_encode(chr(0x.$m[1]));}, $source); // hex notation
#####En consola. Crear usuario y base de datos. Sustituir Password por la contrasea que se #####elija. mysqladmin -u root -p create joomla mysql -u root -p CREATE USER joomlausr@'localhost IDENTIFIED BY Password; GRANT SELECT, INSERT, DELETE, UPDATE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON `joomla`.* TO joomlausr@localhost; flush privileges; quit;
####En la seccin dos especificar: -Usuario: joomlausr -Contrasea: Especificar la contrasea que se escogi en el paso anterior para joomlausr -Base de datos: joomla -Prefijo de las tablas: joom_ #####En la seccin tres y cuatro simplemente dar siguiente. #####En consola. Volver a cambiar permisos y quitar directorios de instalacin. chown -R root:root /etc/httpd/htdocs/joomla cd /etc/httpd/htdocs/joomla chmod 0755 $(find . -type d) chmod 0644 $(find . -type f) chmod 666 configuration.php chown -R apache:apache tmp plugins rm -rf installation rm -rf Joomla_3.1.5-Stable-Full_Package.zip
####En el men superior seleccionar Extensions->Extension Manager. ####Seleccionar Install from URL y dar la ruta en install URL. Presionar Install http://download.siteground.com/joomla16/addons/jHackGuard.zip #####En el men superior seleccionar Extensions->Plugin-Manager #####Habilitar el plugin Security jHackGuard que se acaba de instalar
#####Poner seguridad extra a las carpetas de administracin. Indispensable para evitar hack. #####Editar configuracin de apache. nano /etc/httpd/conf/httpd.conf #####Agregar en la seccin de Directory lo siguiente: <Directory /etc/httpd/htdocs/joomla/administrator> AllowOverride All </Directory> <Directory /etc/httpd/htdocs/joomla/tmp> AllowOverride All </Directory> <Directory /etc/httpd/htdocs/joomla/plugins> AllowOverride All </Directory>
#####Poner lo siguiente en el nuevo archivo htaccess que se est creando: AuthType Basic AuthName Restricted Files AuthUserFile /etc/httpd/htdocs/joomla/administrator/.htpasswd Require valid-user
#####Propagar el htaccess a las dems carpetas que lo requieren cp .htaccess /etc/httpd/htdocs/joomla/tmp cp .htaccess /etc/httpd/htdocs/joomla/plugins
#####Crear archivo de passwords htpasswd. Ser necesario proporcionar la contrasea que se #####utilizar para tener acceso. Sustituir USUARIO por el nombre de usuario que tendr #####acceso a dicha seccin.Ejem: htpasswd -c .htpasswd 4dm1n1str4d0r htpasswd -c .htpasswd USUARIO
*****INSTALAR MOODLE***** cd /etc/httpd/htdocs wget http://superb-dca2.dl.sourceforge.net/project/moodle/Moodle/stable25/moodle2.5.2.tgz tar xvfz moodle-2.5.2.tgz chown -R apache:apache /etc/httpd/htdocs/moodle
#####En consola. Crear usuario y base de datos. Sustituir Password por la contrasea que se #####elija. mysqladmin -u root -p create moodle mysql -u root -p ALTER DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; CREATE USER moodleusr@'localhost IDENTIFIED BY Password; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON `moodle`.* TO moodleusr@localhost; flush privileges; quit;
####Abrir el explorador en la carpeta de moodle. Ejem: http://localhost/moodle ####Dar siguiente hasta la seccin de Ajustes de base de datos. Ahi poner lo siguiente: -Nombre de la base de datos = moodle -Usuario de la base de datos = moodleusr -Contrasea de la base de datos = Contrasea del paso anterior para moodleusr -Prefijo de tablas = mood_ -Socket Unix = Palomear esta opcin
#####Dar siguiente/continuar hasta la pgina de configuracin del administrador. #####Llenar los formularios siguiente con los datos que correspondan hasta quedar #####en la pantalla principal del moodle con la sesin de administrador abierta. #####En consola. Volver a cambiar permisos y quitar directorios de instalacin. chown -R root:root /etc/httpd/htdocs/moodle cd /etc/httpd/htdocs/moodle chmod 0755 $(find . -type d) chmod 0644 $(find . -type f)
************************************
wget http://superbdca2.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.0.6/phpMyAdmin-4.0.6all-languages.zip
####Ingresar a MySQL y crear un usuario pma. Sustituir Password por la contrasea que se ####elija
mysql -p CREATE USER pma@'localhost IDENTIFIED BY Password; GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO pma@localhost; flush privileges; quit; ####Generar una clave para el blowfish (se usar posteriormente) openssl rand -base64 32 ####Ingresar a la ruta de instalacin del phpmyadmin en /setup y configurar. Ejem: http://localhost/pma/setup Crear un nuevo servidor seleccionando la opcin New server de la seccin Overview. El la pestaa Basic settings cambiar las siguientes banderas: -Verbose name of this server = Poner el nombre del servidor
El la pestaa Server configuration cambiar las siguientes banderas: -Allow root login = Palomear esta opcin
El la pestaa Configuration storage cambiar las siguientes banderas: -Database name = phpmyadmin
-Control user = pma -Control user password = Password que se eligi en el paso anterior para el usuario pma -Bookmark table = Poner predeterminado pma__bookmark -Relation table = Poner predeterminado pma__relation -User preferences storage table = Poner predeterminado pma__userconfig -Display columns table = Poner predeterminado pma__table_info -Column information table = Poner predeterminado pma__column_info -SQL query history table = Poner predeterminado pma__history -Recently used table = Poner predeterminado pma__recent -UI preferences table = Poner predeterminado pma__table_uiprefs -SQL query tracking table = Poner predeterminado pma__tracking -PDF schema: table coordinates = Poner predeterminado pma__table_coords -PDF schema: pages table = Poner predeterminado pma__pdf_pages -Designer table = Poner predeterminado pma__designer_coords
####Dar click en save en la parte inferior ####Ir a la seccin Features en la cejilla Security. Cambiar las banderas: Blowfish secret = Poner la clave que se gener con openssl en el paso anterior Force SSL connection = Palomear esta opcin
####Ir a la seccin SQL queries en la cejilla SQL Validator. Cambiar las banderas: Enable SQL Validator = Palomear esta opcin
####Ir a la seccin Main panel en la cejilla Startup. Cambiar las banderas: Show phpinfo() link = Palomear esta opcin
####En consola. Copiar el archivo config/config.inc.php al directorio principal. ####Borrar el directorio config cd /etc/httpd/htdocs/pma/config cp config.inc.php ../ cd .. rm -rf config
#####Poner seguridad extra a la carpeta. Indispensable para evitar hack. #####Editar configuracin de apache. nano /etc/httpd/conf/httpd.conf #####Agregar en la seccin de Directory lo siguiente: <Directory /etc/httpd/htdocs/pma> Options FollowSymLinks DirectoryIndex index.php AllowOverride All </Directory> #####Crear archivos de polticas de acceso htaccess cd /etc/httpd/htdocs/pma/ nano .htaccess #####Poner lo siguiente en el nuevo archivo htaccess que se est creando: AuthType Basic AuthName Restricted Files AuthUserFile /etc/httpd/htdocs/pma/.htpasswd Require valid-user
#####Crear archivo de passwords htpasswd. Ser necesario proporcionar la contrasea que se #####utilizar para tener acceso. Sustituir USUARIO por el nombre de usuario que tendr #####acceso a dicha seccin.Ejem: htpasswd -c .htpasswd 4dm1n1str4d0r htpasswd -c .htpasswd USUARIO