miércoles, 23 de abril de 2014

Instalar componentes de LAMP individualmente

Usaremos las siguientes versiones de los componentes, aunque podemos usar veriones superiores si lo deseamos:
 
Nucleo Linux 2.2.x 
MySql 5.x 
PHP 5.X

Vamos a instalarlo todo en la ruta /usr/local , ya que MySql se instala allí por defecto.

Ponemos los archivos comprimidos de los componentes en /usr/local, y nos situamos en dicha ruta.

Comenzamos:

Instalamos Apache

# tar -xvzf [paquete apache] 
# cd [paquete apache]
#./configure --prefix=/opt/apache2 --enable-mods-shared=all
# make
# make install

Instalamos MySQL

    Creamos el usuario y el grupo mysql:

        # groupadd mysql
        # useradd -g mysql mysql
   
    Para cambiar de usuario usamos el siguiente comando:

        # su - [nombre_usuario]

        Copiamos el tar.gz a /usr/local y lo descomprimimos.
   
        tar -xvzf [archivo_distribucion_mysql].tar.gz
   
    Creamos un enlace simbólico:
   
        ln -s /usr/local/[archivo_distribucion_mysql] mysql
   
    Ejecutamos el script mysql_install_db ubicado en la carpeta scripts.
   
    Iniciamos la base de datos con:

        #/usr/local/mysql/bin/safe_mysqld &

        *** Hay que hacerlo con el usuario mysql ***

Inicializamos la contraseña del root de base de datos. Hay dos maneras, o modificando los privilegios de la tabla "user" de la base de datos, o mediante el comando "mysqladmin".

    Mediante BBDD:

        # mysql -u root
        mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
        mysql> SET PASSWORD FOR 'root'@'%' = PASSWORD('newpwd');


    Con mysqladmin:

        # mysqladmin -u root password "newpwd"
        # mysqladmin -u root -h host_name password "newpwd"


Añadir nuevo usuario: primero tenemos que crearlo en el sistema, y luego le concedemos los permisos de administrador de la siguiente manera:

Entramos en la instancia "mysql" (instancia por defecto) con el usuario root, y ejecutamos los siguientes comandos:

        mysql> GRANT ALL PRIVILEGES ON *.* TO 'nuevo_usuario'@'localhost'  IDENTIFIED BY
        'pass_del_nuevo_usuario' WITH GRANT OPTION;
        mysql> GRANT ALL PRIVILEGES ON *.* TO 'nuevo_usuario'@'%'  IDENTIFIED BY 
        'pass_nuevo_usuario' WITH GRANT OPTION;
        mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
        mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';

    Así ya nos podremos conectar a la base de datos en el nuevo_usuario.

    Poner mysql como servicio:

Copiamos el script "mysql.server" a /etc/init.d, y lo colocamos en los niveles de arranque que queramos.

Instalamos PHP, compilándolo con los parámetros especificados:

    # tar -xvzf [paquete php]
    # cd [paquete php]
    # ./configure --prefix=/opt/php5.5.26 --with-apxs2=/opt/apache2/bin/apxs --enable-magic-quotes 
    --with-zlib --enable-dba --with-gdbm --with-gd --enable-ftp --with-jpeg-dir --enable-gd-native-ttf 
    --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config 
    --enable-wddx
    # make
    # make install