not instalar found ec2 aws linux amazon-web-services amazon-ec2 installation-package

found - Cómo instalar PHP 7 en la instancia de EC2 t2.micro con Amazon Linux Distro



install mysql amazon linux (12)

Quiero instalar el último PHP 7.0 en una instancia de AWS EC2 T2.Micro. Hasta ahora he leído que actualmente AWS no es compatible con PHP 7. Pero hey ... Esto es solo un servidor virtual en la nube y yo tengo el control total sobre su configuración, por lo que debe haber alguna forma de ejecutar PHP 7 en este uno.

Cualquier ayuda muy apreciada.

Mi caja es la siguiente

$ cat /etc/*-release --------------------------------------- NAME="Amazon Linux AMI" VERSION="2015.09" ID="amzn" ID_LIKE="rhel fedora" VERSION_ID="2015.09" PRETTY_NAME="Amazon Linux AMI 2015.09" ANSI_COLOR="0;33" CPE_NAME="[*not significant*]" HOME_URL="http://aws.amazon.com/amazon-linux-ami/" Amazon Linux AMI release 2015.09 $ uname -a --------------------------------------- Linux ip-xxx-xxx-xxx-xxx 4.1.13-18.26.amzn1.x86_64 #1 [date] x86_64 x86_64 x86_64 GNU/Linux $ uname -mrs --------------------------------------- Linux 4.1.13-18.26.amzn1.x86_64 x86_64 $ cat /proc/version --------------------------------------- Linux version 4.1.13-18.26.amzn1.x86_64 (mockbuild@gobi-build-64010) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) )


Última respuesta, pero vale la pena saberlo, ya que es un poco más simple / php7 no está disponible en los repositorios estándar para LTS AMI, y esto no surgió hasta que busqué un poco más difícil:

amazon-linux-extras install php7.2

La versión de extras se puede verificar con un comando de lista si v7.2 ya no está actualizado:

amazon-linux-extras list



Ahora puede usar los paquetes oficiales de php7. Aquí una guía fácil de seguir.

1. Instalar Apache 2.4 y PHP 7.0 en Amazon Linux AMI

# Remove current apache & php sudo yum remove httpd* php* # Install Apache 2.4 sudo yum install httpd24 # Install PHP 7.0 # automatically includes php70-cli php70-common php70-json php70-process php70-xml sudo yum install php70 # Install additional commonly used php packages sudo yum install php70-gd sudo yum install php70-imap sudo yum install php70-mbstring sudo yum install php70-mysqlnd sudo yum install php70-opcache sudo yum install php70-pdo sudo yum install php70-pecl-apcu

2. Modificar DirectoryIndex para incluir index.php

sudo nano /etc/httpd/conf/httpd.conf

encuentra esto:

<IfModule dir_module> DirectoryIndex index.html </IfModule>

y modificarlo para que se vea así:

<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>

Si un directorio contiene un index.html y un index.php, el servidor servirá el index.html con esta configuración. Si no desea que eso suceda, tiene las siguientes opciones:

Invierta el orden, por lo que index.php se sirve cuando ambos archivos existen:

<IfModule dir_module> DirectoryIndex index.php index.html </IfModule>

Solo use index.php como DirectoryIndex:

<IfModule dir_module> DirectoryIndex index.php </IfModule>

3. Inicie el servidor web Apache

sudo service httpd start

4. Configure el servidor web Apache para que comience en cada arranque del sistema

sudo chkconfig httpd on

5. Pruebe su instalación

Crea phpinfo.php:

echo ''<?php print phpinfo();'' | sudo tee --append /var/www/html/phpinfo.php

Abra su navegador e ingrese la IP pública de su instancia en la barra de direcciones seguida por /phpinfo.php

Example: http://xxx.xxx.xxx.xxx/phpinfo.php

Nota: no olvide permitir las conexiones entrantes para HTTP (puerto 80) en los grupos de seguridad de su instancia, de lo contrario su solicitud expirará.


Así es como instalé PHP 7.1 en Amazon Linux:

wget http://rpms.remirepo.net/enterprise/remi-release-6.rpm rpm -Uvh remi-release-6.rpm epel-release-latest-6.noarch.rpm yum-config-manager --enable remi-php71 wget ftp://195.220.108.108/linux/epel/6/x86_64/Packages/s/scl-utils-20120229-1.el6.x86_64.rpm rpm -Uvh scl-utils-20120229-1.el6.x86_64.rpm yum install php71

https://gist.github.com/ihor/581d169886c29e7e17d01b0041167b01


El nombre del paquete php 7 es php70w . Entonces, lo que puede hacer es instalar un repositorio Webtatic en su máquina Linux e instalarlo desde allí.

rpm -ivh https://mirror.webtatic.com/yum/el6/latest.rpm yum clean all yum install --enablerepo=webtatic php70w


Estaba instalando PHP 7.0 en una caja de producción que ya tiene apache 2.4 y PHP 5.5. Quería instalar PHP 7.0 junto a él de una manera que no tuviera interrupción del servidor. Esto es lo que hice.

# Install PHP 7.0 # automatically includes php70-cli php70-common php70-json php70-process php70-xml sudo yum install php70 # Install additional commonly used php packages sudo yum install php70-gd sudo yum install php70-imap sudo yum install php70-mbstring sudo yum install php70-mysqlnd sudo yum install php70-opcache sudo yum install php70-pecl-apcu

Este PHP 7 felizmente instalado junto con PHP 5.5. El truco fue decirle a apache que usara 7.0. No estoy seguro de si esta fue la mejor manera, pero logré esto cambiando estos 2 enlaces permanentes:

ln -sf /etc/httpd/conf.d/php-conf.7.0 /etc/alternatives/php.conf ln -sf /etc/httpd/conf.modules.d/15-php-conf.7.0 /etc/alternatives/10-php.conf

En este punto, apache todavía está felizmente corriendo 5.5. Luego, cuando reinicie Apache, debería funcionar con 7.0 (tal vez 7.0.1). Este es el camino sin tiempo de inactividad. Todavía recomendaría hacer lo que hice, que es reconstruir PROD en otra instancia (crear un servidor TEST) y probarlo todo una vez antes de hacerlo realmente en PROD. ¡Buena suerte!

Ah, y ahora el comando php seguirá ejecutando 5.5. Puede cambiar cualquier secuencia de comandos o trabajos CRON para apuntar a php7 o cambiar la versión predeterminada ejecutando

alternatives --config php


Este hilo me ayudó a acercarme lo suficiente para terminarlo, estoy compartiendo los comandos y la salida que funcionó para mí.

En Amazon Lightsail con Amazon Linux ( amzn1.x86_64 ), la siguiente lista de comandos me ayudó a eliminar el sistema de Apache 2.2 y PHP 5.3 para llegar a Apache 2.4 y PHP :

  1. Elimine la versión actual de php y las herramientas relacionadas:

sudo yum remove php*

============================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================== Removing: php x86_64 5.3.29-1.8.amzn1 @amzn-main 7.4 M php-cli x86_64 5.3.29-1.8.amzn1 @amzn-main 6.4 M php-common x86_64 5.3.29-1.8.amzn1 @amzn-main 6.3 M php-devel x86_64 5.3.29-1.8.amzn1 @amzn-main 9.9 M php-gd x86_64 5.3.29-1.8.amzn1 @amzn-main 669 k php-mbstring x86_64 5.3.29-1.8.amzn1 @amzn-main 4.1 M php-mcrypt x86_64 5.3.29-1.8.amzn1 @amzn-main 92 k php-mysql x86_64 5.3.29-1.8.amzn1 @amzn-main 445 k php-pdo x86_64 5.3.29-1.8.amzn1 @amzn-main 381 k php-xml x86_64 5.3.29-1.8.amzn1 @amzn-main 625 k Transaction Summary ============================================================================================================================================== Remove 10 Packages

  1. Elimine la versión actual de Apache ( tenga en cuenta que debe hacer una copia de seguridad de la carpeta conf y conf.d antes de hacer esto, en mi caso, era una nueva configuración del sistema, por lo que no había nada de interés allí ):

sudo yum remove http*

============================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================== Removing: httpd x86_64 2.2.31-1.8.amzn1 @amzn-main 3.0 M httpd-devel x86_64 2.2.31-1.8.amzn1 @amzn-main 534 k httpd-tools x86_64 2.2.31-1.8.amzn1 @amzn-main 135 k Transaction Summary ============================================================================================================================================== Remove 3 Packages

  1. Instalar Apache 2.4 (y comenzar a Apache)

sudo yum install httpd24.x86_64

sudo service httpd start

  1. Instalar PHP 7

sudo yum install php70

============================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================== Installing: php70 x86_64 7.0.13-1.19.amzn1 amzn-updates 3.3 M Installing for dependencies: php70-cli x86_64 7.0.13-1.19.amzn1 amzn-updates 4.7 M php70-common x86_64 7.0.13-1.19.amzn1 amzn-updates 1.2 M php70-json x86_64 7.0.13-1.19.amzn1 amzn-updates 65 k php70-process x86_64 7.0.13-1.19.amzn1 amzn-updates 79 k php70-xml x86_64 7.0.13-1.19.amzn1 amzn-updates 309 k Transaction Summary ============================================================================================================================================== Install 1 Package (+5 Dependent packages) Total download size: 9.6 M Installed size: 31 M Is this ok [y/d/N]: y Downloading packages: (1/6): php70-7.0.13-1.19.amzn1.x86_64.rpm | 3.3 MB 00:00 (2/6): php70-cli-7.0.13-1.19.amzn1.x86_64.rpm | 4.7 MB 00:00 (3/6): php70-common-7.0.13-1.19.amzn1.x86_64.rpm | 1.2 MB 00:00 (4/6): php70-json-7.0.13-1.19.amzn1.x86_64.rpm | 65 kB 00:00 (5/6): php70-process-7.0.13-1.19.amzn1.x86_64.rpm | 79 kB 00:00 (6/6): php70-xml-7.0.13-1.19.amzn1.x86_64.rpm | 309 kB 00:00 ---------------------------------------------------------------------------------------------------------------------------------------------- Total 14 MB/s | 9.6 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : php70-json-7.0.13-1.19.amzn1.x86_64 1/6 Installing : php70-process-7.0.13-1.19.amzn1.x86_64 2/6 Installing : php70-xml-7.0.13-1.19.amzn1.x86_64 3/6 Installing : php70-cli-7.0.13-1.19.amzn1.x86_64 4/6 Installing : php70-common-7.0.13-1.19.amzn1.x86_64 5/6 Installing : php70-7.0.13-1.19.amzn1.x86_64 6/6 Verifying : php70-7.0.13-1.19.amzn1.x86_64 1/6 Verifying : php70-common-7.0.13-1.19.amzn1.x86_64 2/6 Verifying : php70-json-7.0.13-1.19.amzn1.x86_64 3/6 Verifying : php70-process-7.0.13-1.19.amzn1.x86_64 4/6 Verifying : php70-xml-7.0.13-1.19.amzn1.x86_64 5/6 Verifying : php70-cli-7.0.13-1.19.amzn1.x86_64 6/6 Installed: php70.x86_64 0:7.0.13-1.19.amzn1 Dependency Installed: php70-cli.x86_64 0:7.0.13-1.19.amzn1 php70-common.x86_64 0:7.0.13-1.19.amzn1 php70-json.x86_64 0:7.0.13-1.19.amzn1 php70-process.x86_64 0:7.0.13-1.19.amzn1 php70-xml.x86_64 0:7.0.13-1.19.amzn1 Complete!


Las otras respuestas parecen funcionar solo con Apache 2.2 pero no con 2.4.

Así es como instalé php7 en Amazon Linux ejecutando Apache 2.4:

Primero, si php ya está instalado, elimínelo:

sudo yum remove php5*

Tome nota de los paquetes php5 que se están eliminando, ya que tendrá que instalar las versiones php7 de ellos. Los nombres de los paquetes de php7 tienen una asignación bastante directa y sin ambigüedades de sus contrapartes de php5, como verá a continuación. El resto de las instrucciones cubren una pila LAMP clásica y pueden ser suficientes para su caso de uso.

Usando instrucciones de http://www.spidersoft.com.au/2015/php-7-on-ami-linux-ec2/

wget http://mirrors.mediatemple.net/remi/enterprise/remi-release-6.rpm sudo yum install remi-release-6.rpm

edite /etc/yum.repos.d/epel.repo y establezca enabled=1

sudo yum upgrade -y sudo yum install php70 php70-php-fpm php70-php-xml php70-php-pdo php70-php-mysqlnd php70-php-gd php70-php-pecl-apcu php70-php-mbstring php70-php-mcrypt php70-php-opcache

Ahora debería tener instalado php70-php-fpm, que puede usar junto con apache:

Inicie el daemon fpm:

sudo service php70-php-fpm start

Cambie Apache de prefork a mpm event worker (esto es necesario porque mod_php no es seguro para subprocesos) en /etc/httpd/conf.modules.d/00-mpm.conf :

LoadModule mpm_event_module modules/mod_mpm_event.so

Instruye a apache para que pase todas las solicitudes de php a php-fpm agregando las siguientes líneas en /etc/httpd/conf/httpd.conf

<FilesMatch /.php$> SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch> DirectoryIndex /index.php index.php

Reinicie apache utilizando el sudo service httpd restart . Si todo fue bien, debería poder verificar la instalación solicitando un archivo php que contenga phpinfo() .

Si tiene scripts de shell que usan el intérprete cli de php y así comienzan con #!/usr/bin/php , debe configurar un enlace simbólico a /usr/bin/php ya que el binario ahora se llama /usr/bin/php70 . Puedes hacer esto de la siguiente manera:

sudo ln -s /usr/bin/php70 /usr/bin/php

Para obtener más información sobre cómo configurar php-fpm, consulte https://wiki.apache.org/httpd/PHP-FPM


Lo tengo funcionando en mi instancia. Necesita http2.2 para que funcione con el repositorio webtatic. Tenía tantos repos que había un montón de incompatibilidades de versiones diferentes. No guardé grandes notas, pero mirando mi historial, básicamente hice esto:

# Remove current php & apache sudo service httpd stop sudo yum remove httpd* php* # Remove any third party repos that aren''t relevant sudo yum repolist sudo yum remove remi-safe # Install Standard Apache for Amazon AMI sudo yum install httpd #specify http22 if you get a different version # Download webtatic mkdir -p /tmp/php7 cd /tmp/php7 wget https://mirror.webtatic.com/yum/el6/latest.rpm # Install webtatic repo sudo yum install latest.rpm sudo vi /etc/yum.repos.d/webtatic.repo ''set repo enables sudo yum clean all # Install base php7 sudo yum install --enablerepo=webtatic php70w php -v #Should say something like PHP 7.0.2 (cli) (built: Jan 9 2016 16:09:32) ( NTS ) sudo yum install php70w-opcache sudo yum install php70w-xml sudo yum install php70w-pdo sudo yum install php70w-mysqlnd sudo yum install php70w-gd sudo yum install php70w-apcu sudo yum install php70w-pecl-apcu sudo yum install php70w-mbstring sudo yum install php70w-imap # Restart apache sudo service httpd restart


Si quieres una instalación rápida de copiar y pegar:

wget http://mirrors.mediatemple.net/remi/enterprise/remi-release-6.rpm sudo yum install -y remi-release-6.rpm sudo yum update -y sudo yum install -y --enablerepo=epel php70

Prueba con:

php70 -v

Y si quieres que el ejecutable sea php :

ln -s /usr/bin/php70 /usr/local/bin/php php -v


Varias respuestas deberían funcionar aquí; sin embargo, cuando estaba instalando el mío, no representaba páginas y mostraba texto en lugar de PHP.

Para arreglar eso, corrí

sudo yum install php70-php-fpm

Después de eso, todo comenzó a funcionar.