====== Apache ====== Virtual Private Server - VPS, hospedado no Cluster VMware localizado na sala de maquinas do Ponto de Presença da RNP/PoP-CE. Atua como servidor web. ===== Configurações da VPS ===== Hostname: www.ifce.edu.br IPv4: 200.17.33.2 OS: CentOS-release-6.6-amd64 Username: root Passwd: 1Password @ Dominios -> ifce.edu.br -> HP BladeSystem -> www vCPU's: 6 RAM: 8GiB HDD: 240GiB ===== Software utilizados pelo serviço ===== httpd-2.2.15-39.el6.centos.x86_64 httpd-tools-2.2.15-39.el6.centos.x86_64 php-gd-5.3.3-40.el6_6.x86_64 php-mysql-5.3.3-40.el6_6.x86_64 php-mbstring-5.3.3-40.el6_6.x86_64 php-pear-1.9.4-4.el6.noarch php-pear-Cache-Lite-1.7.12-1.el6.noarch php-pear-DB-1.7.13-3.el6.noarch php-pdo-5.3.3-40.el6_6.x86_64 php-xml-5.3.3-40.el6_6.x86_64 php-snmp-5.3.3-40.el6_6.x86_64 php-5.3.3-40.el6_6.x86_64 php-odbc-5.3.3-40.el6_6.x86_64 php-pear-CAS-1.3.3-1.el6.noarch php-ldap-5.3.3-40.el6_6.x86_64 php-bcmath-5.3.3-40.el6_6.x86_64 php-mssql-5.3.3-3.el6.x86_64 php-pgsql-5.3.3-40.el6_6.x86_64 php-xmlrpc-5.3.3-40.el6_6.x86_64 php-mcrypt-5.3.3-3.el6.x86_64 php-pear-Date-1.4.7-5.el6.noarch php-common-5.3.3-40.el6_6.x86_64 php-cli-5.3.3-40.el6_6.x86_64 ===== Instalação ===== O Apach2 pode ser instalado via yum: [root@www ~]# yum update -y; yum install httpd httpd-tools php-gd php-mysql php-mbstring php-pear php-pear-Cache-Lite php-pear-DB php-pdo php-xml php-snmp php php-odbc php-pear-CAS php-ldap php-bcmath php-mssql php-pgsql php-xmlrpc php-mcrypt php-pear-Date php-common php-cli ===== Estrutura de diretórios ===== Listar a estrutura de diretórios aqui: * ''/etc/httpd/' - Arquivos de configuração do Apache * ''/etc/php.ini' - Arquivo de configuração do PHP * ''/var/www/html/'' - Fontes do site principal (www.ifce.edu.br) * ''/var/www/sites/'' - Fontes dos demais sites a serem servidos * ''/var/log/http/'' - Arquivos de log do Apache & PHP === Arquivos de configuração === Encontram-se no diretório ''/etc'' e ''/etc/httpd'', os arquivos de configuração do Apache e do PHP ==== Operando o serviço ==== === Iniciando o serviço === Inicia-se o serviço do Apache através do comando: [root@www ~]# service httpd start === Parando o serviço === Para-se o serviço do Apache através do comando: [root@www ~]# service httpd stop === Reiniciando o serviço === Reincia-se o serviço do Apache através do comando: [root@www ~]# service httpd restart === Adicionando um novo VirtualHost === Nosso colaborador Lucas do Amaral Saboya escreveu um shellscript para automatizar a criação de novos VirtualHosts. Para utiliza-lo basta utilizar o seguinte comando: [root@www ~]# site ==== Arquivos de configuração ==== [PHP] engine = On short_open_tag = On asp_tags = Off precision = 14 y2k_compliance = On output_buffering = 4096 zlib.output_compression = Off implicit_flush = Off unserialize_callback_func = serialize_precision = 100 allow_call_time_pass_reference = Off safe_mode = Off safe_mode_gid = Off safe_mode_include_dir = safe_mode_exec_dir = safe_mode_allowed_env_vars = PHP_ safe_mode_protected_env_vars = LD_LIBRARY_PATH disable_functions = disable_classes = ;;;;;;;;;;;;;;;;; ; Miscellaneous ; ;;;;;;;;;;;;;;;;; expose_php = On ;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;; max_execution_time = 600 max_input_time = 600 memory_limit = 256M ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error handling and logging ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; error_reporting = E_ALL & ~E_NOTICE display_errors = On display_startup_errors = Off log_errors = On log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On track_errors = Off html_errors = Off ;;;;;;;;;;;;;;;;; ; Data Handling ; ;;;;;;;;;;;;;;;;; variables_order = "GPCS" request_order = "GP" register_globals = On register_long_arrays = Off register_argc_argv = Off auto_globals_jit = On post_max_size = 5120M magic_quotes_gpc = Off magic_quotes_runtime = Off magic_quotes_sybase = Off auto_prepend_file = auto_append_file = default_mimetype = "text/html" ;;;;;;;;;;;;;;;;;;;;;;;;; ; Paths and Directories ; ;;;;;;;;;;;;;;;;;;;;;;;;; doc_root = user_dir = enable_dl = Off ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; file_uploads = On upload_max_filesize = 5120M ;;;;;;;;;;;;;;;;;; ; Fopen wrappers ; ;;;;;;;;;;;;;;;;;; allow_url_fopen = On allow_url_include = Off default_socket_timeout = 60 ;;;;;;;;;;;;;;;;;;; ; Module Settings ; ;;;;;;;;;;;;;;;;;;; [Date] date.timezone = "America/Fortaleza" [filter] [iconv] [intl] [sqlite] [sqlite3] [Pcre] [Pdo] [Phar] [Syslog] define_syslog_variables = Off [mail function] SMTP = mail.ifce.edu.br smtp_port = 25 sendmail_from = root@ifce.edu.br sendmail_path = /usr/sbin/sendmail -t -i mail.add_x_header = On [SQL] sql.safe_mode = Off [ODBC] odbc.allow_persistent = On odbc.check_persistent = On odbc.max_persistent = -1 odbc.max_links = -1 odbc.defaultlrl = 4096 odbc.defaultbinmode = 1 [MySQL] mysql.allow_persistent = On mysql.max_persistent = -1 mysql.max_links = -1 mysql.default_port = mysql.default_socket = mysql.default_host = mysql.default_user = mysql.default_password = mysql.connect_timeout = 60 mysql.trace_mode = Off [MySQLi] mysqli.max_links = -1 mysqli.default_port = 3306 mysqli.default_socket = mysqli.default_host = mysqli.default_user = mysqli.default_pw = mysqli.reconnect = Off [PostgresSQL] pgsql.allow_persistent = On pgsql.auto_reset_persistent = Off pgsql.max_persistent = -1 pgsql.max_links = -1 pgsql.ignore_notice = 0 pgsql.log_notice = 0 [Sybase-CT] sybct.allow_persistent = On sybct.max_persistent = -1 sybct.max_links = -1 sybct.min_server_severity = 10 sybct.min_client_severity = 10 [bcmath] bcmath.scale = 0 [browscap] [Session] session.save_handler = files session.save_path = "/var/lib/php/session" session.use_cookies = 1 session.use_only_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.cookie_httponly = session.serialize_handler = php session.gc_probability = 1 session.gc_divisor = 1000 session.gc_maxlifetime = 1440 session.bug_compat_42 = Off session.bug_compat_warn = Off session.referer_check = session.entropy_length = 0 session.entropy_file = session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0 session.hash_function = 0 session.hash_bits_per_character = 5 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" [MSSQL] mssql.allow_persistent = On mssql.max_persistent = -1 mssql.max_links = -1 mssql.min_error_severity = 10 mssql.min_message_severity = 10 mssql.compatability_mode = Off mssql.secure_connection = Off [Assertion] [COM] [mbstring] [gd] [exif] [Tidy] tidy.clean_output = Off [soap] soap.wsdl_cache_enabled=1 soap.wsdl_cache_dir="/tmp" soap.wsdl_cache_ttl=86400 [sysvshm] ### Section 1: Global Environment # ServerTokens OS ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 120 KeepAlive Off MaxKeepAliveRequests 100 KeepAliveTimeout 15 ## ## Server-Pool Size Regulation (MPM specific) ## StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 2000 # StartServers 4 MaxClients 300 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, in addition to the default. See also the # directive. Listen 80 LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule ldap_module modules/mod_ldap.so LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule include_module modules/mod_include.so LoadModule log_config_module modules/mod_log_config.so LoadModule logio_module modules/mod_logio.so LoadModule env_module modules/mod_env.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule expires_module modules/mod_expires.so LoadModule deflate_module modules/mod_deflate.so LoadModule headers_module modules/mod_headers.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule mime_module modules/mod_mime.so LoadModule dav_module modules/mod_dav.so LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule info_module modules/mod_info.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so LoadModule actions_module modules/mod_actions.so LoadModule speling_module modules/mod_speling.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule substitute_module modules/mod_substitute.so LoadModule rewrite_module modules/mod_rewrite.so #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #LoadModule proxy_http_module modules/mod_proxy_http.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule cache_module modules/mod_cache.so LoadModule suexec_module modules/mod_suexec.so LoadModule disk_cache_module modules/mod_disk_cache.so LoadModule cgi_module modules/mod_cgi.so LoadModule version_module modules/mod_version.so # Load config files from the config directory "/etc/httpd/conf.d". # Include conf.d/*.conf # User apache Group apache ### Section 2: 'Main' server configuration # ServerAdmin root@ifce.edu.br ServerName webserver.ifce.edu.br:80 UseCanonicalName Off DocumentRoot "/var/www/html" Options Indexes FollowSymLinks AllowOverride all Order deny,allow Allow from all Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all Options Indexes FollowSymLinks AllowOverride All Order deny,allow Allow from all UserDir disabled # # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. # DirectoryIndex index.html index.html.var index.php # # AccessFileName: The name of the file to look for in each directory # for additional configuration directives. See also the AllowOverride # directive. # AccessFileName .htaccess # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # Order allow,deny Deny from all Satisfy All # TypesConfig /etc/mime.types DefaultType text/plain # # MIMEMagicFile /usr/share/magic.mime MIMEMagicFile conf/magic # HostnameLookups Off # ErrorLog logs/error_log #LogLevel debug LogLevel error #LogLevel warn # The following directives define some format nicknames for use with # a CustomLog directive (see below). # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog logs/access_log combined # ServerSignature On # Alias /icons/ "/var/www/icons/" Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all # # WebDAV module configuration section. # # Location of the WebDAV lock database. DAVLockDB /var/lib/dav/lockdb #CGI-BIN ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" AllowOverride None Options None Order allow,deny Allow from all # IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8 # AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text/* AddIconByType (IMG,/icons/image2.gif) image/* AddIconByType (SND,/icons/sound2.gif) audio/* AddIconByType (VID,/icons/movie.gif) video/* AddIcon /icons/binary.gif .bin .exe AddIcon /icons/binhex.gif .hqx AddIcon /icons/tar.gif .tar AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip AddIcon /icons/a.gif .ps .ai .eps AddIcon /icons/layout.gif .html .shtml .htm .pdf AddIcon /icons/text.gif .txt AddIcon /icons/c.gif .c AddIcon /icons/p.gif .pl .py AddIcon /icons/f.gif .for AddIcon /icons/dvi.gif .dvi AddIcon /icons/uuencoded.gif .uu AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /icons/tex.gif .tex AddIcon /icons/bomb.gif core AddIcon /icons/back.gif .. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^^DIRECTORY^^ AddIcon /icons/blank.gif ^^BLANKICON^^ DefaultIcon /icons/unknown.gif ReadmeName README.html HeaderName HEADER.html IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t DefaultLanguage pt-BR AddLanguage ca .ca AddLanguage cs .cz .cs AddLanguage da .dk AddLanguage de .de AddLanguage el .el AddLanguage en .en AddLanguage eo .eo AddLanguage es .es AddLanguage et .et AddLanguage fr .fr AddLanguage he .he AddLanguage hr .hr AddLanguage it .it AddLanguage ja .ja AddLanguage ko .ko AddLanguage ltz .ltz AddLanguage nl .nl AddLanguage nn .nn AddLanguage no .no AddLanguage pl .po AddLanguage pt .pt AddLanguage pt-BR .pt-br AddLanguage ru .ru AddLanguage sv .sv AddLanguage zh-CN .zh-cn AddLanguage zh-TW .zh-tw LanguagePriority pt-BR en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt ru sv zh-CN zh-TW # ForceLanguagePriority Prefer Fallback AddDefaultCharset UTF-8 AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl AddHandler type-map var AddType text/html .shtml AddOutputFilter INCLUDES .shtml # Alias /error/ "/var/www/error/" AllowOverride None Options IncludesNoExec AddOutputFilter Includes html AddHandler type-map var Order allow,deny Allow from all LanguagePriority en es de fr ForceLanguagePriority Prefer Fallback # The following directives modify normal HTTP response behavior to # handle known problems with browser implementations. # BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully BrowserMatch "MS FrontPage" redirect-carefully BrowserMatch "^WebDrive" redirect-carefully BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully BrowserMatch "^gnome-vfs/1.0" redirect-carefully BrowserMatch "^XML Spy" redirect-carefully NameVirtualHost *:80 DocumentRoot /var/www/sites/www/html ServerName www.ifce.edu.br ServerAlias www.cefetce.br ServerAlias www.cefet-ce.br ServerAlias www.etfce.br ServerAlias ifce.edu.br ServerAlias cefetce.br ServerAlias cefet-ce.br ServerAlias etfce.br ErrorLog /var/www/sites/www/error.log Alias /bvu/ /var/www/sites/www/html/fw-bvu/ Alias /boletim_servico /var/www/sites/boletim_servico/html Options +FollowSymLinks Order allow,deny allow from all #!/bin/bash usuario=$1 /usr/bin/clear /bin/echo -n "Digite o nome do USUARIO a ser criado: " read usuario /usr/sbin/adduser -g apache -d /var/www/sites/$usuario -s /sbin/nologin $usuario /usr/bin/clear /bin/echo "Now, passwords" /usr/bin/passwd $usuario /bin/chmod 770 /var/www/sites/$usuario /bin/chmod 770 /var/www/sites/$usuario/html /usr/bin/chcon -R -t httpd_sys_content_t /var/www/sites/$usuario /bin/echo "Criando arquivo de configuração" /bin/touch /etc/httpd/conf.d/$usuario.conf /bin/echo "# Arquivo de configuracao do site $usuario" >> /etc/httpd/conf.d/$usuario.conf /bin/echo "#" >> /etc/httpd/conf.d/$usuario.conf /bin/echo "#Aliases" >> /etc/httpd/conf.d/$usuario.conf /bin/echo "Alias /$usuario /var/www/sites/$usuario/html" >> /etc/httpd/conf.d/$usuario.conf /bin/echo "#" >> /etc/httpd/conf.d/$usuario.conf /bin/echo "#VirtualHost" >> /etc/httpd/conf.d/$usuario.conf /bin/echo "" >> /etc/httpd/conf.d/$usuario.conf /bin/echo " DocumentRoot /var/www/sites/$usuario/html" >> /etc/httpd/conf.d/$usuario.conf /bin/echo " ServerName $usuario.ifce.edu.br" >> /etc/httpd/conf.d/$usuario.conf /bin/echo " ServerAlias www.$usuario.ifce.edu.br" >> /etc/httpd/conf.d/$usuario.conf /bin/echo " ServerAlias $usuario.cefetce.br" >> /etc/httpd/conf.d/$usuario.conf /bin/echo " ServerAlias www.$usuario.cefetce.br" >> /etc/httpd/conf.d/$usuario.conf /bin/echo " ServerAlias $usuario.cefet-ce.br" >> /etc/httpd/conf.d/$usuario.conf /bin/echo " ServerAlias www.$usuario.cefet-ce.br" >> /etc/httpd/conf.d/$usuario.conf /bin/echo " ServerAlias $usuario.etfce.br" >> /etc/httpd/conf.d/$usuario.conf /bin/echo " ServerAlias www.$usuario.etfce.br" >> /etc/httpd/conf.d/$usuario.conf /bin/echo "" >> /etc/httpd/conf.d/$usuario.conf /bin/echo "" >> /var/www/sites/$usuario/html/index.php /bin/chown -R $usuario:apache /var/www/sites/$usuario/ /sbin/service httpd reload /bin/echo -n "Digite APENAS o subdominio do site a ser criado" read usuario adduser --ingroup www-data --home /var/www/sites/$usuario --shell /sbin/nologin $usuario /bin/echo -n "Digite o email do responsavel: " read email /bin/echo "Now, passwords" /usr/bin/passwd $usuario /usr/bin/mkdir -p /var/www/sites/$usuario/public_html /bin/chmod 770 /var/www/sites/$usuario /bin/chmod 770 /var/www/sites/$usuario/public_html /bin/echo "Criando arquivo de configuração" /bin/touch /etc/apache2/sites-available/$usuario.conf /bin/echo "# Arquivo de configuracao do site $usuario" >> /etc/apache2/sites-available/$usuario.conf /bin/echo "#" >> /etc/apache2/sites-available/$usuario.conf /bin/echo "#Aliases" >> /etc/apache2/sites-available/$usuario.conf /bin/echo "Alias /$usuario /var/www/sites/$usuario/public_html" >> /etc/apache2/sites-available/$usuario.conf /bin/echo "#" >> /etc/apache2/sites-available/$usuario.conf /bin/echo "#VirtualHost" >> /etc/apache2/sites-available/$usuario.conf /bin/echo "" >> /etc/apache2/sites-available/$usuario.conf /bin/echo " ServerAdmin $email" >> /etc/apache2/sites-available/$usuario.conf /bin/echo " DocumentRoot /var/www/sites/$usuario/public_html" >> /etc/apache2/sites-available/$usuario.conf /bin/echo " ServerName $usuario.ifce.edu.br" >> /etc/apache2/sites-available/$usuario.conf /bin/echo " ServerAlias www.$usuario.ifce.edu.br" >> /etc/apache2/sites-available/$usuario.conf /bin/echo " ServerAlias $usuario.cefetce.br" >> /etc/apache2/sites-available/$usuario.conf /bin/echo " ServerAlias www.$usuario.cefetce.br" >> /etc/apache2/sites-available/$usuario.conf /bin/echo " ServerAlias $usuario.cefet-ce.br" >> /etc/apache2/sites-available/$usuario.conf /bin/echo " ServerAlias www.$usuario.cefet-ce.br" >> /etc/apache2/sites-available/$usuario.conf /bin/echo " ServerAlias $usuario.etfce.br" >> /etc/apache2/sites-available/$usuario.conf /bin/echo " ServerAlias www.$usuario.etfce.br" >> /etc/apache2/sites-available/$usuario.conf /bin/echo " ErrorLog /var/www/sites/$usuario/error.log" >> /etc/apache2/sites-available/$usuario.conf /bin/echo "" >> /etc/apache2/sites-available/$usuario.conf /bin/echo "" >> /var/www/sites/$usuario/public_html/index.php /bin/chown -R $usuario:www-data /var/www/sites/$usuario/ a2ensite $usuario service apache2 reload; ===== Referências ===== * [[https://en.wikipedia.org/wiki/Web_server|wikipedia.org]] * [[http://httpd.apache.org/docs/|apache.org]] * [[http://php.net/docs.php|php.net]] ===== Assinatura ===== --- //[[lucas.saboya@gmail.com|Lucas do Amaral Saboya]] 2015/04/06 13:42//