Red de conocimiento informático - Aprendizaje de programación - Cómo instalar OA, APACHE, MYSQL, PHP en Linux

Cómo instalar OA, APACHE, MYSQL, PHP en Linux

I. Convención del sistema

Ubicación de almacenamiento del paquete de código fuente de software:/usr/local/src

Ubicación de compilación e instalación del paquete de código fuente (prefijo):/usr/local/software_name

Ubicación de almacenamiento del script y del programa de mantenimiento: /usr/local/sbin

Ubicación de la base de datos MySQL: /var/lib/mysql (se puede configurar según la situación)

Raíz web de Apache directorio: / home/www/wwwroot (se puede configurar según la situación real)

Directorio raíz del registro del host virtual Apache: /home/www/logs (se puede configurar según la situación real)

Cuenta de ejecución de Apache: www :www

Implementación y ajuste del entorno del sistema

1. Compruebe si el sistema es normal

# more /var. /log/messages (verifique los mensajes de error a nivel del sistema)

# dmesg (verifique la información de error del dispositivo de hardware)

# ifconfig (verifique si la configuración de la tarjeta de red es correcta)

# ping www.163.com (verifique si la red es normal)

2. Cierre los servicios innecesarios

# ntsysv

Solo los servicios que deben iniciarse se enumeran a continuación. Se recomienda cerrar todos los servicios no listados:

atd<

crond

irqbalance

. microcode_ctl

red

sendmail

sshd

syslog

3. p># init 6

4. Configurar vim

p>

# vi /root/.bashrc

Agregue una línea bajo el alias mv='mv -i ': alias vi='vim' Guardar y salir.

# echo 'syntax on' gt; /root/.vimrc

5. Utilice el programa yum para instalar el paquete de desarrollo requerido (aquí está el nombre del paquete RPM estándar)

p >

# yum install ntp vim-enhanced gcc gcc-c gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libng-depvel libtiff-devel freetype-devel pam-devel kernel

6. Corregir la sincronización del reloj del servidor

# crontab -e agregue una línea: */30 * * * * ntpdate 210.72.145.44

7. paquetes de software requeridos (Código fuente)

(1) GD2

# cd /usr/local/ src

# tar xzvf gd-2.0.34.tar .gz

# cd gd-2.0.34

# ./configure --prefix=/usr/local/gd2

# make

# make install

(2) LibXML2

# cd /usr/local/src

# tar xjvf libxml2- 2.6.30.tar. bz2

# cd libxml2-2.6.30

# ./configure --prefix=/usr/local/libxml2

# make

# make install

(3) LibMcrypt

# cd /usr/local/src

# tar xjvf libmcrypt-2.5.8.tar.bz2

# cd libmcrypt-2.5.8

# ./configure -prefix=/usr/local/libmcrypt

# make

# make install

(4) Truncador de registros de Apache

# cd /usr/local/src

# tar xzvf cronolog-1.7.0-beta.tar .gz

# cd cronolog-1.7.0-beta

# ./configure -prefix=/usr/local/cronolog

# make

# make install

8. Actualizar OpenSSL y OpenSSH

# cd /usr/local/src

# tar xzvf openssl-0.9.8e .tar .gz

# cd openssl-0.9.8e

# ./config --prefix=/usr/local/openssl

# make

#hacer prueba

#hacer instalar

#cd .

#tar xzvf

openssh-4.7p1.tar.gz

# cd openssh-4.7p1

# ./configure \

"--prefix=/usr" \

"--with-pam" \

"--with-zlib" \

"--sysconfdir=/etc/ssh" \

"--with-ssl-dir=/usr/local/openssl" (

"--with-md5-passwords")

# make

# make install

(1) Deshabilitar el protocolo SSH V1

Buscar:

#Protocol 2, 1GSSAPICleanupCredentials sí

(4) Deshabilitar la resolución de nombres DNS

Buscar:

#UseDNS sí

Leer:

UseDNS no

(5) Deshabilitar cliente GSSAPI

# vi /etc/ssh/ssh_config

Buscar:

GSSAPIAuthentication sí

Por favor comente Soltar esta línea.

Finalmente, reinicia el servicio SSH después de asegurarte de que los cambios son correctos

# service sshd restart

# ssh -v

Confirmar OpenSSH y la versión de OpenSSL son correctas.

3. Compile e instale el entorno L.A.M.P

1 Descargue el software

# cd /usr/local/src

f. /etc /my.cnf

# mv /usr/local/mysql/data /var/lib/mysql

# chown -R mysql:mysql /var/lib/mysql/

# vi /etc/my.

Modificar el siguiente contenido:

(1) Agregar una línea en la sección [mysql]:

carácter predeterminado -set = gbk | latin1 | utf8 latin1 | big5

(2) Agregue o modifique la parte [mysqld]:

datadir = /var/lib /mysql

-skip-innodb

conjunto-de-caracteres predeterminado = gbk | latin1 | utf8 | big5

--tiempo de espera = 3 | 5 |p>

max_connections = 256 384

max_connect_errors = 10000000

thread_ concurrency = Cantidad de CPU x 2

Registro de comentarios

# bin/mysqladmin -u contraseña de raíz 'password_for_root'

3. Apache

# cd /usr/local /src

# tar xjvf httpd-2.2.6.tar.bz2

# cd httpd-2.2.6

# ./configure (

"--prefix=/usr/local/apache2" (

"--with-included-apr"

"- -enable-so" \

"--enable-deflate=shared" \

"--enable-expires=shared" \

"-- enable-rewrite=shared" \

"--enable-static-support" \

"--disable-userdir"

# make

# make install

# echo '/usr/local/apache2/bin/apachectl start ' gt;gt /etc/rc.local

4. Compilar e instalar PHP

# cd /usr/ local/src

# tar xjvf php-5.2.4.tar.bz2

# cd php-5.2.4

# ./configure \

"--prefix=/usr/local/php" \

"--con

-apxs2=/usr/local/apache2/bin/apxs" \

"--with-config-file-path=/usr /local/php/etc" \

"--with-mysql=/usr/local/mysql" \

"--with-mysql=/usr/local/mysql

"--con-libxml-dir =/usr/local/libxml2"(

"--with-gd=/usr/local/gd2"(

"--con-jpeg-dir"(

"--con-png-dir"(

"--con-bz2"(

"--con libre-type-dir

"--con-dir-tipo-libre" \

"--con-dir-iconv" \

"--con-dir-iconv" < / p>

"--with-zlib-dir " \

"--with-openssl=/usr/local/openssl" \

"- -with-mcrypt=/usr/local/openssl" \

"--with-mcrypt=/usr/local/openssl" \

"--with-mcrypt=/ usr/local/opensslwith-mcrypt=/usr/local/libmcrypt" \

"--enable-soap" \

"--enable-gd-native-ttf" \

"--enable-ftp" \

"--enable-mbstring" \

"--enable-exif" \

"--disable- ipv6" \

"--disable-cgi" \

"--disable-cli"

# make

# make install

# mkdir /usr/local/php/etc

# cp php.ini -dist /usr/local/php/etc/php. ini

5. Integrar Apache con PHP

# vi /usr/local/apache2/conf/httpd.conf

Buscar:

Aplicación AddType/x-gzip .gz .tgz

Agregar

Aplicación AddType/x-httpd-php .php

Buscar:

lt;IfModule dir_modulegt;

DirectoryIndex index.html

lt;/IfModulegt;

Cambie esta línea a

lt; IfModule dir_modulegt;

DirectoryIndex index.html index.htm index.php

lt;/IfModulegt;

Buscar:

#Include conf/extra/httpd-mpm.conf

#Include conf/extra/httpd-info.conf

#Include conf/extra /httpd-vhosts.conf

#Include conf/extra/httpd-default.conf

Elimina el signo "#" inicial para descomentar.

Nota: ¡Las configuraciones en los cuatro archivos de configuración extendidos anteriores deben configurarse adecuadamente de acuerdo con los principios relevantes! Guarde y salga cuando haya terminado.

# /usr/local/apache2/bin/apachectl restart

6. Verifique el entorno L.A.M.P y mejore la seguridad de PHP

Coloque el script phpinfo.php El directorio raíz del sitio web y verifique si la información en phpinfo es correcta.

Después de confirmar que PHP funciona correctamente, establezca una configuración en php.ini para mejorar la seguridad de PHP.

# vi /etc/php.ini

Encontrado:

disable_functions =

Establecido en:

phpinfo, passthru, exec, system, chroot, scandir, chgrp, chown, shell_exec, proc_open,

proc_get_status, ini_alter, ini_alter, ini_restore, dl, pfsockopen, openlog, syslog,

readlink, symlink, popepassthru, stream_socket_server

4 Configuración de seguridad del servidor

1. Configure el firewall del sistema

# vi /usr/local/sbin/fw .sh

Pegue los siguientes comandos de script en el archivo fw.sh.

#! /bin/bash

# Detener el servicio iptables primero

servicio iptables stop

# Cargar el módulo del kernel FTP

/sbin/ modprobe ip_conntrack_ ftp

/sbin/modprobe ip_nat_ftp

# Política predeterminada de la cadena de inicialización

/sbin/iptables -F - filter

# En fw Pegue el siguiente comando de script en el archivo .sh:

#!t filter

/sbin/iptables -P INPUT DROP

/sbin/iptables -P SALIDA ACEPTAR

# Habilitar transferencia de red nativa

/sbin/iptables -A ENTRADA -i lo -j ACEPTAR

# Aceptar conexiones establecidas

/sbin/iptables -A ENTRADA -m estado --estado ESTABLECIDO, RELACIONADO -j ACEPTAR

# control ICMP

/sbin/iptables -A ENTRADA -m estado --state ESTABLECIDO , RELACIONADO -j ACEPTAR

# control ICMP

/sbin/ iptables -A ENTRADA -p icmp -m límite --limit 1/s --limit-burst 10 -j ACEPTAR

# Servicio WWW

/sbin/iptables -A ENTRADA -p tcp --dport 80 -j ACEPTAR

# Servicio WWW

/sbin/iptables -A ENTRADA -p tcp --dport 80j ACEPTAR<

# servicio FTP

/sbin/iptables -A ENTRADA -p tcp -- dport 21 -j ACEPTAR

# servicio SSH

/sbin/iptables -A ENTRADA -p tcp --dport 22 -j ACEPTAR # chmod 755 /usr/local/sbin/fw .sh

# echo '/usr/local/sbin/fw.sh' gt;gt /etc/rc.local

;