Las instrucciones que se muestran a continuación, eliminarán toda instalación de apache que tengas en tu servidor. Si quieres conservar las paginas web, los log, y la configuración del actual apache hazte una copia de seguridad de los directorios correspondientes, normalmente:
- /home/httpd
- /var/log/httpd
- /etc/httpd
De todos modos, el script que se muestra a continuación ya te copiará toda la información del Apache y del MySQL a un directorio temporal: /tmp
Para que las instrucciones que se muestran a continuación surtan efecto, debes tener en el directorio /home/install de tu host linux los siguientes ficheros:
De todos modos, el script que se muestra a continuación ya te copiará toda la información del Apache y del MySQL a un directorio temporal: /tmp
Para que las instrucciones que se muestran a continuación surtan efecto, debes tener en el directorio /home/install de tu host linux los siguientes ficheros:
apache-1.3.12.tar.gz
php-4.0.4.tar.gz
mysql-3.22.32.tar.gz
openssl-0.9.5a.tar.gz
apache_1.3.12+ssl_1.40.tar.gz
que podrás conseguir en estos enlaces:
apache-1.3.12.tar.gz
php-4.0.4.tar.gz
mysql-3.22.32
openssl-0.9.5a.tar.gz
apache_1.3.12+ssl_1.40.tar.gz
Ficheros Originales y Lugares oficiales de descarga:
apache-1.3.12.tar.gz
php-4.0.4.tar.gz
mysql-3.22.32.tar.gz
openssl-0.9.5a.tar.gz
apache_1.3.12+ssl_1.40.tar.gz
Si tienes instalado wget en tu máquina Linux, no es necesario que consigas manualmente estos ficheros, porque el script lo hará por ti automáyicamente.
Debes tener acceso como root a la máquina Linux para que la instalación se efectue correctamente.
Ahora sigue los pasos que se muestran a continuación para la compilación del Apache con todas las opciones anteriormente indicadas:
################################################################################
################################################################################
################################################################################
### NOTAS:
1.- Los errores tipo "File exists", o "No such file or directory"
puede considerarlos como normales a lo largo de esta instalación.
2.- Antes de proceder, asegúrese de que no tiene datos importantes
en los siguientes directorios: /home/httpd, /usr/local/apache,
/usr/local/mysql, /etc/httpd, /usr/src/apache, /usr/src/mysql,
/usr/src/php
3.- Esta instalacion compila Apache, PHP y SSL de forma integrada,
no como módulos.
################################################################################
################################################################################
################################################################################
### Descargo los ficheros necesarios
mkdir /home/install
mkdir /home/install/servicios
mkdir /home/install/servicios/apachessl
cd /home/install/servicios/apachessl
wget -c -t100 -T60 http://www.apache.org/dist/apache_1.3.12.tar.gz
wget -c -t100 -T60 http://www.mysql.com/Downloads/MySQL-3.22/mysql-3.22.32.tar.gz
wget -c -t100 -T60 http://www.openssl.org/source/openssl-0.9.5a.tar.gz
wget -c -t100 -T60 ftp://ftp.funet.fi/pub/crypt/mirrors/ftp.ox.ac.uk/
SSL/Apache-SSL/apache_1.3.12+ssl_1.40.tar.gz
mkdir /home/install/programacion
mkdir /home/install/programacion/php
cd /home/install/programacion/php
wget -c -t100 -T60 "http://www.php.net/do_download.php?download_file=
php-4.0.4.tar.gz&source_site=www.php.net"
-------------------------------------------
### "Mato" posibles demonios que estén funcionando
/etc/rc.d/init.d/httpd stop
/etc/rc.d/init.d/httpsd stop
/usr/local/apache/bin/apachectl stop
/usr/local/apache/bin/httpdctl stop
/usr/local/apache/bin/httpsdctl stop
/etc/rc.d/init.d/mysql stop
/usr/local/mysql/bin/mysqladmin shutdown
### Se crean algunos directorios necesarios
mkdir /etc/httpd
mkdir /home/httpd
mkdir /home/httpd/www.midominio.com
mkdir /home/httpd/www.midominio.com/html
mkdir /home/httpd/www.midominio.com/cgi-bin
mkdir /var/log/httpd
mkdir /var/log/httpd/www.midominio.com
-------------------------------------------
### En caso de que tuviera instalado Apache o MySQL o PHP:
### Hago copias de seguridad de las configuracion, logs y datos
rm -Rf /tmp/apache.backup
mkdir /tmp/apache.backup
cp -Rdp /home/httpd /tmp/apache.backup/htdocs
cp -Rdp /etc/httpd /tmp/apache.backup/etc
cp -Rdp /var/log/httpd /tmp/apache.backup/log
rm -Rf /tmp/mysql.backup
mkdir /tmp/mysql.backup
cp -Rd /usr/local/mysql/var/mysql /tmp/mysql.backup/data
### Borro los programas antiguos instalados
rm -Rf /usr/local/apache
rm -Rf /usr/local/ssl
rm /usr/sbin/ssleay
rm -Rf /usr/local/mysql
rm /usr/local/lib/php3.ini
rm /usr/local/lib/php.ini
rm -Rf /usr/local/php*
### Borro codigos fuente antiguos
rm /usr/src/apache
rm -Rf /usr/src/apache*
rm /usr/src/ssl
rm -Rf /usr/src/openssl*
rm -Rf /usr/src/ssleay*
rm -Rf /usr/src/SSLeay*
rm /usr/src/php
rm -Rf /usr/src/php*
rm /usr/src/mod_ssl
rm -Rf /usr/src/mod_ssl*
rm /usr/src/mysql
rm -Rf /usr/src/mysql*
-------------------------------------------
PLAN PROFESIONAL LINUX
Hosting Linux Profesional desde 8.25€/mes
100 MB, 10 Buzones, 10 FTP +>>
### Descomprimo codigos fuente en /usr/src
cd /usr/src/
tar -zxvf /home/install/servicios/apachessl/apache-1.3.12.tar.gz
tar -zxvf /home/install/servicios/apachessl/openssl-0.9.5a.tar.gz
### Aplico parche SSL al Apache
cd /usr/src/apache_1.3.12
tar -zxvf /home/install/servicios/apachessl/apache_1.3.12+ssl_1.40.tar.gz
./FixPatch
# ¡Manualmente! Contestar 'y' para que aplique el patch
### Descomprimo mas codigos fuente en /usr/src
cd /usr/src/
tar -zxvf /home/install/servicios/apachessl/mysql-3.22.32.tar.gz
tar -zxvf /home/install/programacion/php/php-4.0.4.tar.gz
### Creo enlaces sencillos (libres de version) al codigo fuente
ln -s /usr/src/apache_1.3.12 /usr/src/apache
ln -s /usr/src/openssl-0.9.5a /usr/src/ssl
ln -s /usr/src/mysql-3.22.32 /usr/src/mysql
ln -s /usr/src/php-4.0.4 /usr/src/php
### Compilo SSL
SSL_BASE=/usr/src/ssl
cd /usr/src/ssl
ln -s /usr/bin/perl /usr/local/bin/perl
./config
make
make test
make install
### Preparo fuentes para la compilacion de Apache
cd /usr/src/apache
./configure --prefix=/usr/local/apache
### Compilo MySql
cd /usr/src/mysql
./configure --without-debug --prefix=/usr/local/mysql
make
make install
cp /usr/src/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
/usr/src/mysql/scripts/mysql_install_db
chmod 755 /etc/rc.d/init.d/mysql
/usr/local/mysql/bin/safe_mysqld &
* Es normal que esta ultima orden no nos devuelva la
* linea de comando hasta que pulsemos ENTER
/usr/local/mysql/bin/mysqladmin -u root password 'miclave'
* Sustituya miclave por la clave que desee
### Se crean enlaces a los programas más usados ...
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump
### Compilo PHP4 como modulo de Apache
cd /usr/src/php
./configure --with-mysql=/usr/local/mysql \
--with-apache=/usr/src/apache --enable-track-vars
make
make install
cp /usr/src/php/php.ini-dist /usr/local/lib/php.ini
### Compilo PHP4 como CGI
cd /usr/src/php
make clean
./configure --with-mysql=/usr/local/mysql --enable-track-vars
make
make install
### Compilo Apache
cd /usr/src/apache
./configure --prefix=/usr/local/apache/ \
--activate-module=src/modules/php4/libphp4.a \
--activate-module=src/modules/standard/mod_speling.o \
--activate-module=src/modules/standard/mod_info.o
make
### Genero Certificado propio
ln -s /usr/local/ssl/bin/openssl /usr/sbin/ssleay
cd /etc/httpd
ssleay req -new > new.cert.csr
### responder interactivamente a las preguntas
### (incluyendo la clave secreta) ...
### introduzca una clave 2 veces y luego los datos
### del Certificado
ssleay rsa -in privkey.pem -out new.cert.key
ssleay x509 -in new.cert.csr -out new.cert.cert -req
-signkey new.cert.key -days 365
### Instalo Apache
cd /usr/src/apache
make install
### En caso de que hayamos hecho copias de seguridad:
mkdir /home/httpd
cp -Rdp /tmp/apache.backup/htdocs /home/httpd
### Creo enlaces
mv -f /usr/local/apache/logs/* /var/log/httpd
rm -Rf /usr/local/apache/logs
ln -s /var/log/httpd /usr/local/apache/logs
### Creo enlaces
mv -f /usr/local/apache/conf/* /etc/httpd
rm -Rf /usr/local/apache/conf
ln -s /etc/httpd /usr/local/apache/conf
ln -s /etc/httpd/httpsd.conf /etc/httpd/httpd.conf
ln -s /etc/httpd/httpd.conf /etc/httpd/httpsd.conf
### Creo enlaces
mv -f /usr/local/apache/htdocs/* /home/httpd/www.midominio.com/html
rm -Rf /usr/local/apache/htdocs
ln -s /home/httpd/www.midominio.com/html /usr/local/apache/htdocs
### Creo enlaces
mv -f /usr/local/apache/cgi-bin/* /home/httpd/www.midominio.com/cgi-bin
rm -Rf /usr/local/apache/cgi-bin
ln -s /home/httpd/www.midominio.com/cgi-bin /usr/local/apache/cgi-bin
### Creo enlaces
ln -s /usr/local/apache/bin/httpsdctl /etc/rc.d/init.d/httpd
ln -s /var/log/httpd/httpd.pid /var/run/httpd.pid
ln -s /var/log/httpd/httpd.pid /var/log/httpd/httpsd.pid
### En caso de que hayamos hecho copias de seguridad:
### Copio los ficheros de log del backup a /var/log/httpd
cp -Rdp /tmp/apache.backup/log /var/log/httpd
### Copio los ficheros de configuracion viejos
cp -Rdp /tmp/apache.backup/etc /etc/httpd
### Editamos el fichero de configuracion de Apache:
vi /etc/httpd/httpsd.conf
* Cogemos como ejemplo el fichero de configuración de
http://jips.kipelhouse.com/linux/apache/ssl/httpsd.html
### Pruebamos a arrancar el servidor con el siguiente comando:
/usr/local/apache/bin/httpsdctl start
### Verificamos que vive Apache
ps ax | grep http
### Verificamos que vive MySQL
ps ax | grep sql
### Verificamos que esta activo el SSL
ps ax | grep gcache
### Verificamos que funciona Apache
lynx http://www.midominio.com/
################################################################################
################################################################################
################################################################################
### ¿Como preparar directorios para un dominio virtual?
### Vamos a crear el dominio www.otrodominio.com
mkdir /var/log/httpd/www.otrodominio.com
mkdir /home/httpd/www.otrodominio.com
mkdir /home/httpd/www.otrodominio.com/html
echo "Funciona www.otrodominio.com" > /home/httpd/www.otrodominio.com/html/index.html
mkdir /home/httpd/www.otrodominio.com/cgi-bin
### An~adimos a /etc/httpd/httpsd.conf las siguientes lineas al final
<VirtualHost www.otrodominio.com:80>
ServerAdmin miemail@otrodominio.com
SSLDisable
Port 80
DocumentRoot /home/httpd/www.otrodominio.com/html/
ServerName www.otrodominio.com
ErrorLog logs/www.otrodominio.com/error.log
CustomLog logs/www.otrodominio.com/access.log combined
ScriptAlias /cgi-bin/ /home/httpd/www.otrodominio.com/cgi-bin/
</VirtualHost>