Diferencia entre revisiones de «PHP Instalación Apache»

De MediaWiki
Ir a la navegación Ir a la búsqueda
 
(No se muestran 8 ediciones intermedias del mismo usuario)
Línea 43: Línea 43:
 
* Nunha consola de comandos executaremos:
 
* Nunha consola de comandos executaremos:
  
−
:<syntaxhighlight lang="java" line enclose="div" highlight="" >
+
:<syntaxhighlight lang="java" enclose="div" highlight="" >
 
sudo apt-get update
 
sudo apt-get update
 
sudo apt-get install apache2
 
sudo apt-get install apache2
Línea 53: Línea 53:
  
 
* Por defecto apache vai buscar as páxinas que se atopan no cartafol: '''/var/www/html'''.
 
* Por defecto apache vai buscar as páxinas que se atopan no cartafol: '''/var/www/html'''.
−
 
  
 
== Instalación do PHP==
 
== Instalación do PHP==
Línea 77: Línea 76:
 
sudo apt install -y \
 
sudo apt install -y \
 
     php8.5 \
 
     php8.5 \
−
     libapache2-mod-php8.5 \
+
     libapache2-mod-php8.5  
 +
</syntaxhighlight>
 +
 
 +
: Neste curso impartiremos Laravel, polo que xa podemos instalar os módulos que se necesitan:
 +
 
 +
:<syntaxhighlight lang="java" enclose="div" highlight="" >
 +
sudo apt install \
 
     php8.5-cli \
 
     php8.5-cli \
−
    php8.5-common \
 
 
     php8.5-mysql \
 
     php8.5-mysql \
 
     php8.5-xml \
 
     php8.5-xml \
Línea 86: Línea 90:
 
     php8.5-zip \
 
     php8.5-zip \
 
     php8.5-bcmath \
 
     php8.5-bcmath \
−
     php8.5-intl \
+
    php8.5-sqlite3 \
 +
     php8.5-intl
 
</syntaxhighlight>  
 
</syntaxhighlight>  
 +
  
 
: Unha vez instalada temos que habilitar a extensión php e reiniciar o apache:
 
: Unha vez instalada temos que habilitar a extensión php e reiniciar o apache:
Línea 139: Línea 145:
  
 
* Php ten a posibilidade de instalar 'módulos' para ampliar as súas funcionalidades.
 
* Php ten a posibilidade de instalar 'módulos' para ampliar as súas funcionalidades.
−
* Para obter a lista de módulos: '''sapt-cache search php8.3-'''
+
* Para obter a lista de módulos: '''sapt-cache search php8.5-'''
 
* Para instalar un dos módulos da lista: '''sudo apt-get install nome_do_modulo'''
 
* Para instalar un dos módulos da lista: '''sudo apt-get install nome_do_modulo'''
  
 
<br/>
 
<br/>
  
−
* No noso caso é necesario instalar o módulo '''php5-gd'''. Escribiremos o seguinte código:
+
* Por exemplo o módulo '''php5-gd''' para manexo de imaxes (redimensionar,...) escribiríamos o seguinte código:
  
 
:<syntaxhighlight lang="java" line enclose="div" highlight="" >
 
:<syntaxhighlight lang="java" line enclose="div" highlight="" >
−
sudo apt-get install php8.3-gd
+
sudo apt-get install php8.5-gd
 
sudo systemctl restart apache2
 
sudo systemctl restart apache2
 
</syntaxhighlight>
 
</syntaxhighlight>
Línea 156: Línea 162:
 
:<syntaxhighlight lang="java" line enclose="div" highlight="" >
 
:<syntaxhighlight lang="java" line enclose="div" highlight="" >
 
php -m
 
php -m
 +
</syntaxhighlight>
 +
 +
 +
 +
* Unha vez instalados podemos habilitalos ou deshabilitalos empregando a orde '''a2enmod''' ou '''a2dismod'''.
 +
: No caso de querer empregar Laravel (que vai ser necesario neste curso) necesitamos activar un módulo que xa está descargado por apache.
 +
: Dito módulo é o '''mod_rewrite''' que permite que url's có formato https://www.mistio.es/productos/1 sexan correctamente interpretados (apache intentaría buscar o cartafol /productos/ dentro do sitio web, pero para Laravel é un dato)
 +
:<syntaxhighlight lang="java" line enclose="div" highlight="" >
 +
sudo a2enmod rewrite
 +
sudo systemctl restart apache2
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Línea 169: Línea 185:
  
 
* A localización do arquivo é:
 
* A localización do arquivo é:
−
:* Se estades a utilizar Apache => '''/etc/php/8.3/apache2/php.ini'''
+
:* Se estades a utilizar Apache => '''/etc/php/8.5/apache2/php.ini'''
−
:* Se estados a utilizar LAMPP => '''/etc/php/8.3/cli/php.ini'''
+
:* Se estados a utilizar LAMPP => '''/etc/php/8.5/cli/php.ini'''
  
 
: Dita localización pode variar en función da versión de PHP instalada.
 
: Dita localización pode variar en función da versión de PHP instalada.
Línea 179: Línea 195:
 
* Unha vez localizado o arquivo teredes que editalo cun editor (e permisos administrativos). O podedes facer coa orde:
 
* Unha vez localizado o arquivo teredes que editalo cun editor (e permisos administrativos). O podedes facer coa orde:
 
:<syntaxhighlight lang="java" line enclose="div" highlight="" >
 
:<syntaxhighlight lang="java" line enclose="div" highlight="" >
−
sudo nano /etc/php/8.3/apache2/php.ini
+
sudo nano /etc/php/8.5/apache2/php.ini
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revisión actual del 17:48 7 sep 2026

Introdución

  • Para poder traballar con PHP é necesario dispor de un servidor Web con soporte de PHP.
  • Unha vez instalado Apache teremos que instalar o módulo que nos da soporte para poder cargar páxinas PHP.
  • Para instalar Apache podemos optar por:
  • Instalar un paquete de software denominado XAMPP (LAMPP para Linux). Dito paquete xa trae consigo o servidor web Apache, o soporte para PHP e un xestor de base de datos Mysql.
  • Instalar o servidor web Apache.
Elixiremos unha das dúas opcións...

Nota: Se queremos non temos porque instalar o servidor Web Apache se imos traballar có IDE Netbeans, xa que este utiliza unha característica de PHP para ter un servidor web propio. Necesitaremos instalar PHP.

Instalación do Lampp

  • É a versión Linux dun paquete denominado XAMPP.
  • Unha vez instalado teremos de vez: Servidor Web Apache, servidor de base de datos Mysql, PHP e Perl.
  • Para instalalo teremos que:
  1. Descargar a versión que nos interese dende este enlace.
  2. Otorgamos permisos de execución ao arquivo .run descargado: sudo chmod +x xampp-linux-x64-8.2.12-0-installer.run
  3. Executamos o arquivo: sudo ./xampp-linux-x64-8.2.12-0-installer.run
  • Os arquivos quedarán descargados en /opt/lampp
Unha vez descargado podemos iniciar Lampp (inicia o servidor web e o mysql) coa orde: sudo /opt/lampp/lampp start ou parar o servizo coa orde: sudo /opt/lampp/lampp stop


  • Se queremos ver o estado dos servidores podemos executar a orde: sudo /opt/lampp/manager-linux-x64.run &.
Aparecerá a seguinte pantalla onde debemos ter iniciados os servizos de Apache e Mysql.
Drupal instalacion mysql 1.jpg

Instalación do Apache


  • Nunha consola de comandos executaremos:
sudo apt-get update
sudo apt-get install apache2


  • Unha vez instalado aparecerá a seguinte pantalla se no navegador de Internet escribimos na URL: http://localhost.
Drupal instalacion apache 1.jpg
  • Por defecto apache vai buscar as páxinas que se atopan no cartafol: /var/www/html.

Instalación do PHP

  • Debedes cambiar o número de versión polo que vos interese.
Para instalar o PHP podemos facer uso do repositorio Ondřej Surý:
sudo apt update

sudo apt install -y \
    ca-certificates \
    software-properties-common

sudo add-apt-repository -y ppa:ondrej/php

sudo apt update
sudo apt install -y \
    php8.5 \
    libapache2-mod-php8.5
Neste curso impartiremos Laravel, polo que xa podemos instalar os módulos que se necesitan:
sudo apt install \
    php8.5-cli \
    php8.5-mysql \
    php8.5-xml \
    php8.5-mbstring \
    php8.5-curl \
    php8.5-zip \
    php8.5-bcmath \
    php8.5-sqlite3 \
    php8.5-intl


Unha vez instalada temos que habilitar a extensión php e reiniciar o apache:
sudo a2enmod php8.5
sudo systemctl restart apache2


Nota: Se temos algunha version anterior teremos que inhabilitala. Para iso podemos ver que módulos temos instalados con:
1 ls -l /etc/apache2/mods-enabled/php*
E dependendo da saída podemos inhabilitar as versións anteriores (son uns exemplos):
1 sudo a2dismod php8.1
2 sudo a2dismod php8.2


  • Actualizaremos o arquivo dir.conf e engadiremos index.php ao principio:
sudo nano /etc/apache2/mods-enabled/dir.conf
1 <IfModule mod_dir.c>
2         DirectoryIndex index.php index.html index.cgi index.pl index.php index.xhtml index.htm
3 </IfModule>


  • Reiniciamos o servizo:
1 sudo service apache2 restart
  • Para comprobar se está ben instalado podemos crear un arquivo: /var/www/html/index.php
1 <?php
2 phpInfo();
3 ?>
E cargar a páxina dende o navegador escribindo na URL: http://localhost/index.php.
Obteremos o seguinte:
Drupal instalacion php 1.jpg

Módulos en PHP

  • Php ten a posibilidade de instalar 'módulos' para ampliar as súas funcionalidades.
  • Para obter a lista de módulos: sapt-cache search php8.5-
  • Para instalar un dos módulos da lista: sudo apt-get install nome_do_modulo


  • Por exemplo o módulo php5-gd para manexo de imaxes (redimensionar,...) escribiríamos o seguinte código:
1 sudo apt-get install php8.5-gd
2 sudo systemctl restart apache2


Se queremos ver os módulos cargados:
1 php -m


  • Unha vez instalados podemos habilitalos ou deshabilitalos empregando a orde a2enmod ou a2dismod.
No caso de querer empregar Laravel (que vai ser necesario neste curso) necesitamos activar un módulo que xa está descargado por apache.
Dito módulo é o mod_rewrite que permite que url's có formato https://www.mistio.es/productos/1 sexan correctamente interpretados (apache intentaría buscar o cartafol /productos/ dentro do sitio web, pero para Laravel é un dato)
1 sudo a2enmod rewrite
2 sudo systemctl restart apache2

Activación na visualización dos erros en PHP

  • Cando esteamos a desenvolver código PHP vai ser moi habitual que as páxinas non amosen o que en principio pretendemos por algún erro no código.
A diferenza das linguaxes de programación de aplicacións de escritorio (tipo Java, VB.NET,...) o navegador non vai informar do erro.
Durante a fase de desenvolvemento pode ser interesante ter activada a directiva que fai amosar os erros atopados no código no navegador.
Para iso hai que modificar o arquivo php.ini
  • A localización do arquivo é:
  • Se estades a utilizar Apache => /etc/php/8.5/apache2/php.ini
  • Se estados a utilizar LAMPP => /etc/php/8.5/cli/php.ini
Dita localización pode variar en función da versión de PHP instalada.
Para saber onde se atopa podedes velo na páxina onde chamastes á función phpinfo() do punto anterior, na liña Loaded confuguration file.
Drupal instalacion php 1.jpg
  • Unha vez localizado o arquivo teredes que editalo cun editor (e permisos administrativos). O podedes facer coa orde:
1 sudo nano /etc/php/8.5/apache2/php.ini
Debedes buscar a liña: display_errors = Off e cambiala a display_errors = On
  • Unha vez feito, reiniciade o servizo:
1 sudo systemctl restart apache2


Nota: Lembrar que esta opción só é aconsellable durante o desenvolvemento da aplicación. Despois deberedes deixalo como estaba.


-- Ángel D. Fernández González -- (2025).