Cómo instalar OA, APACHE, MYSQL, PHP en Linux
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 p>
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) p>
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 p>
# 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 p>
#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/ p>
# 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"( p>
"--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 p>
# 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 p>
/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 p>
# echo '/usr/local/sbin/fw.sh' gt;gt /etc/rc.local
;