Saul  Alaniz

Saul Alaniz

1655768580

Cómo Instalar LAMP en Linux Ubuntu 20.04/22.04 AWS EC2

En este tutorial, aprenderá paso a paso cómo instalar PHP MySQL en ubuntu 20.04 AWS EC2.

Cómo instalar LAMP (Linux, Apache, MySql y PHP) en Linux Ubuntu 20.04/22.04 AWS EC2

  • Paso 1: lanzamiento de una máquina virtual
  • Paso 2: seleccionar las especificaciones de la máquina virtual
  • Paso 3: conecte su instancia de AWS EC2 desde SSH
  • Paso 4: instala Apache
  • Paso 5: instale MySQL en AWS EC2 Ubuntu
  • Paso 6: instale PHP Amazon EC2 Ubuntu
  • Paso 7: reinicie el servidor web Apache

Paso 1: lanzamiento de una máquina virtual

Inicie sesión en la  consola de administración de AWS EC2 y haga clic en el botón  Iniciar instancia .

Paso 2: seleccionar las especificaciones de la máquina virtual

  1. Al hacer clic  en Iniciar instancia  nos llevará a una página donde se pueden elegir las especificaciones para la máquina virtual. Seleccione  Ubuntu Server 20.04 LTS (HVM), Tipo de volumen SSD .

2. En la siguiente pantalla, vamos con la instancia t2.micro, que es  elegible para la capa gratuita .

3. Para la sección  Configurar instancia  , vaya a la configuración predeterminada.

4. Para la sección  Agregar almacenamiento  , vaya a la configuración predeterminada.

5. Para la sección  Agregar etiquetas  , vaya a la configuración predeterminada.

6. Para la sección  Configurar grupo de seguridad  , agregue  la  regla HTTP . Se requiere HTTP para el servidor web que se instalará en breve.

7. También podemos configurar reglas con respecto a las direcciones IP que pueden acceder a los protocolos agregados. Para el tutorial, ambos protocolos están abiertos a todas las direcciones IP. Si es necesario, esto también se puede editar más tarde.

8. Hacer  clic en el botón Revisar y lanzar  en esta página nos lleva a una página donde podemos revisar la configuración de nuestra instancia. Haga clic en el  botón Iniciar  .

Creación y descarga de un par de claves

Después de hacer clic en el botón Iniciar, la siguiente página presentará opciones para el archivo de clave. Este archivo clave se utiliza para conectarse a la instancia EC2 desde nuestro sistema .

Elija la opción  Crear un nuevo par de claves  y descargue el archivo de claves.

Con el archivo clave descargado, el botón para iniciar la instancia se activó. Hacer clic en ese botón es el último paso para iniciar la instancia de AWS.

Con el lanzamiento exitoso de la instancia, seremos redirigidos a la página que da un mensaje de éxito de que se está lanzando la instancia.

Hacer clic en el botón  Ver Instancias  nos redirige a la consola de administración de EC2. Esto contendrá el DNS público y la dirección IP pública de la instancia que se requerirán en los pasos posteriores .

(A partir del siguiente paso, debemos conectarnos a la máquina virtual desde nuestro sistema y ejecutar comandos en ella a través de una terminal / shell)

Paso 3: conecte su instancia de AWS EC2 desde SSH

En primer lugar, debe conectar su instancia aws ec2 desde ssh. Si es nuevo en conectar la instancia aws ec2 con el sistema windows, ubuntu y mac. Entonces, puede leer este tutorial "Cómo conectarse a la instancia ec2 desde Putty y SSH Terminal" para conectar su instancia ec2 desde ssh.

Paso 4: instala Apache

En este paso, debe descargar la última versión del software actualizando primero el índice de paquetes local de los repositorios de Ubuntu. Entonces, inicie su terminal ssh y escriba el siguiente comando:

sudo apt update

En este paso, use el siguiente comando para instalar apache 2 en su servidor web ubuntu. Entonces, abra la terminal ssh nuevamente y ejecute este comando sudo para instalar el servidor web apache en la instancia aws ec2:

sudo apt install apache2

Tenga en cuenta que, al ejecutar la instalación del servidor web apache 2 en la instancia aws ec2. El cuadro de aviso se abrirá con una opción "S/N" para continuar con la instalación.

Ingrese Y, luego de lo cual comenzará el proceso de instalación.

Verificar la instalación de Apache

Se completó la instalación del servidor web Apache2 en su instancia de Ubuntu 20.04 EC2. Entonces, abra su terminal ssh y escriba el siguiente comando para verificar que Apache 2 esté instalado o no en nuestra instancia Ubuntu 20.04 aws EC2:

apache2 -version

¡Felicitaciones! Ha instalado con éxito el servidor web Apache 2 en la instancia AWS ec2.

Si quieres acceder desde el exterior. Por lo tanto, debe actualizar la configuración del firewall en su servidor web apache 2 en su instancia Ubuntu 20.04 EC2.

Enumere los perfiles de aplicación de UFW

En este paso, abra su terminal ssh y escriba el siguiente comando para enumerar las aplicaciones ufw de firewall disponibles:

sudo ufw app list

Luego verá una lista de los perfiles de aplicación:

OutputAvailable applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

Como indica el resultado, hay tres perfiles disponibles para Apache:

  • Apache : este perfil abre solo el puerto 80 (tráfico web normal y sin cifrar)
  • Apache completo : este perfil abre tanto el puerto 80 (tráfico web normal y sin cifrar) como el puerto 443 (tráfico cifrado con TLS/SSL)
  • Apache Secure : este perfil abre solo el puerto 443 (tráfico encriptado TLS/SSL)

Permitir Apache completo en UFW

En este paso, debe permitir que Apache Full en UFW abra los puertos 80 y 443 para el tráfico de red, al tiempo que brinda la máxima seguridad al servidor. Por lo tanto, utilice el siguiente comando UFW para permitir Apache Full a través del siguiente comando:

sudo ufw allow 'Apache Full'

Puede verificar el cambio escribiendo:

sudo ufw status

El resultado proporcionará una lista de tráfico HTTP permitido:

OutputStatus: active
 
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Apache                     ALLOW       Anywhere                
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Apache (v6)                ALLOW       Anywhere (v6)

Verifique que el servicio Apache se esté ejecutando

sudo systemctl status apache2

Finalmente, abra su navegador y escriba la dirección IP de su instancia AWS ec2. Y se verá como la página de Apache 2 en la siguiente imagen:

instalar servidor web apache 2 en amazon ec2

install apache 2 web server on amazon ec2

Paso 5: instale MySQL en AWS EC2 Ubuntu

En este paso, abra su terminal ssh y escriba el siguiente comando para instalar MySql Server:

sudo apt-get install mysql-server

Luego, asegure el servidor MySql usando el siguiente comando. Por lo tanto, deberá establecer la contraseña raíz de la base de datos y protegerla con el siguiente comando:

sudo mysql_secure_installation

Cuando ejecutas este comando. Luego aparecerán las preguntas dadas a continuación en el aviso:

  • Se le presentará una pantalla donde MySQL le pregunta si desea activar el VALIDAR CONTRASEÑA PLUGIN. Por ahora, manteniendo las cosas simples, escriba  no .
  • En el siguiente, escriba la contraseña de root de su elección. Confirmarlo de nuevo.
  • En la siguiente pantalla, MySql le preguntará si desea eliminar a los usuarios anónimos. Escriba 
  • ¿Deshabilitar el inicio de sesión raíz de forma remota? Número de tipo 
  • ¿Eliminar la base de datos de prueba y acceder a ella? Tipo 
  • ¿Recargar tablas de privilegios ahora? Tipo 
  • Después de establecer la contraseña, puede comprobar si MySQL funciona correctamente iniciando sesión en la base de datos con el comando:
sudo mysql -u root -p

El comando anterior le pedirá la contraseña. Ingrese la contraseña que ingresa mientras asegura MySQL y presione enter para iniciar sesión en MySQL:

Ahora, escriba exit en la terminal ssh para salir de MySql:

exit

Paso 4: instale PHP Amazon EC2 Ubuntu

En este paso, instale PHP con sus extensiones comunes. Así que abre tu terminal ssh y escribe el siguiente comando:

sudo apt-get install php libapache2-mod-php php-mysql php-curl php-gd php-json php-zip php-mbstring

Después de instalar con éxito PHP en la instancia de ubuntu amazon ec2. Ahora, necesita configurar dir.conf el archivo usando el siguiente comando sudo nano:

sudo nano /etc/apache2/mods-enabled/dir.conf

Se verá así:

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

Mueva el archivo de índice de PHP a la primera posición después de la  DirectoryIndex especificación, así:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Paso 7: reinicie el servidor web Apache

Después de instalar con éxito PHP MySQL y configurarlos en la instancia ubuntu amazon ec2.

Finalmente, debe reiniciar el servidor Apache 2 utilizando el siguiente comando:

sudo service apache2 restart

 Esta historia se publicó originalmente en https://www.tutsmake.com/install-lamp-linux-apache-mysql-php-on-ubuntu-20-04-aws-ec2/

#lamp #linux #mysql #ubuntu #aws #php 

Cómo Instalar LAMP en Linux Ubuntu 20.04/22.04 AWS EC2

Linux Ubuntu 20.04 / 22.04 AWS EC2にLAMP(Linux、Apache、MySql、PHP)をインストール

このチュートリアルでは、PHPMySQLをubuntu20.04AWSEC2にインストールする方法を段階的に学習します。

Linux Ubuntu 20.04 / 22.04 AWS EC2にLAMP(Linux、Apache、MySql、PHP)をインストールする方法

  • ステップ1-仮想マシンの起動
  • ステップ2–仮想マシンの仕様を選択する
  • ステップ3–SSHからAWSEC2インスタンスを接続する
  • ステップ4–Apacheをインストールする
  • ステップ5– AWSEC2UbuntuにMySQLをインストールする
  • ステップ6– PHP AmazonEC2Ubuntuをインストールする
  • ステップ7–ApacheWebサーバーを再起動します

ステップ1-仮想マシンの起動

AWS EC2 Management Consoleにログインし、  [ LaunchInstance ]ボタンをクリックします 。

ステップ2–仮想マシンの仕様を選択する

  1. インスタンスの起動]をクリックする と、仮想マシンの仕様を選択できるページが表示されます。UbuntuServer  20.04 LTS(HVM)、SSDボリュームタイプを選択します。

2.次の画面では、 FreeTierEligibleであるt2.microインスタンスを使用します 。

3.  [インスタンスの構成]セクション で、デフォルト設定に進みます。

4.  [ストレージの追加]セクション で、デフォルト設定に移動します。

5.  [タグの追加 —]セクションのデフォルト設定に移動します。

6.「 セキュリティグループの構成—HTTP ルールの 追加 」セクションの場合。間もなくインストールされるWebサーバーにはHTTPが必要です。

7.追加されたプロトコルにアクセスできるIPアドレスに関するルールを設定することもできます。チュートリアルでは、両方のプロトコルがすべてのIPアドレスに対して開かれています。必要に応じて、後で編集することもできます。

8. このページの[確認して起動 ]ボタンをクリックすると、インスタンス設定を確認できるページに移動します。[ 起動 ]ボタンをクリックします。

キーペアの作成とダウンロード

[起動]ボタンをクリックすると、次のページにキーファイルのオプションが表示されます。 このキーファイルは、システムからEC2インスタンスに接続するために使用されます

[新しいキーペアを作成する]オプションを選択し  、キーファイルをダウンロードします。

キーファイルをダウンロードすると、インスタンスを起動するためのボタンがアクティブになります。そのボタンをクリックすることが、AWSインスタンスを起動するための最後のステップです。

インスタンスの起動が成功すると、インスタンスが起動されていることを示す成功メッセージを表示するページにリダイレクトされます。

[インスタンスの表示]ボタンをクリックする  と、EC2管理コンソールにリダイレクトされます。 これには、後の手順で必要になるインスタンスのパブリックDNSとパブリックIPアドレスが含まれます

(次のステップ以降、システムから仮想マシンに接続し、ターミナル/シェルを介して仮想マシンでコマンドを実行する必要があります)

ステップ3–SSHからAWSEC2インスタンスを接続する

まず、sshからawsec2インスタンスを接続する必要があります。aws ec2インスタンスをWindows、ubuntu、macシステムに接続するのが初めての場合。したがって、このチュートリアル「PuttyおよびSSHターミナルからec2インスタンスに接続する方法」を読んで、sshからec2インスタンスに接続することができます。

ステップ4–Apacheをインストールする

このステップでは、最初にUbuntuリポジトリのローカルパッケージインデックスを更新して、ソフトウェアの最新バージョンをダウンロードする必要があります。したがって、sshターミナルを起動し、以下のコマンドを入力します。

sudo apt update

このステップでは、以下のコマンドを使用して、Apache2をubuntuWebサーバーにインストールします。したがって、sshターミナルを再度開き、このsudoコマンドを実行して、awsec2インスタンスにApacheWebサーバーをインストールします。

sudo apt install apache2

awsec2インスタンスでApache2Webサーバーのインストールを実行していることに注意してください。インストールを続行するための「Y/N」オプションが表示されたプロンプトボックスが開きます。

Yを入力してください。その後、インストールプロセスが開始されます。

Apacheのインストールを確認します

Ubuntu20.04EC2インスタンスへのApache2Webサーバーのインストールが完了しました。したがって、sshターミナルを開き、次のコマンドを入力して、Apache2がUbuntu20.04awsEC2インスタンスにインストールされているかどうかを確認します。

apache2 -version

おめでとうございます!!、Apache2WebサーバーがAWSec2インスタンスに正常にインストールされました。

外部からアクセスしたい場合。そのため、Ubuntu20.04EC2インスタンスのApache2Webサーバーのファイアウォール設定を更新する必要があります。

UFWアプリケーションプロファイルを一覧表示します

このステップでは、ターミナルsshを開き、次のコマンドを入力して、そのような使用可能なファイアウォールufwアプリケーションを一覧表示します。

sudo ufw app list

次に、アプリケーションプロファイルのリストが表示されます。

OutputAvailable applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

出力に示されているように、Apacheで使用できるプロファイルは3つあります。

  • Apache:このプロファイルはポート80(通常の暗号化されていないWebトラフィック)のみを開きます
  • Apache Full:このプロファイルは、ポート80(通常の暗号化されていないWebトラフィック)とポート443(TLS / SSL暗号化トラフィック)の両方を開きます
  • Apache Secure:このプロファイルはポート443(TLS / SSL暗号化トラフィック)のみを開きます

UFWでApacheFullを許可する

このステップでは、サーバーに最大限のセキュリティを提供しながら、UFWのApacheFullがネットワークトラフィック用にポート80と443を開くことを許可する必要があります。したがって、以下のUFWコマンドを使用して、次のコマンドでApacheFullを許可します。

sudo ufw allow 'Apache Full'

次のように入力して、変更を確認できます。

sudo ufw status

出力には、許可されたHTTPトラフィックのリストが表示されます。

OutputStatus: active
 
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Apache                     ALLOW       Anywhere                
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Apache (v6)                ALLOW       Anywhere (v6)

Apacheサービスが実行されていることを確認します

sudo systemctl status apache2

最後に、ブラウザを開き、AWSec2インスタンスのIPアドレスを入力します。そして、次の図のApache2ページのようになります。

Amazonec2にApache2Webサーバーをインストールします

install apache 2 web server on amazon ec2

ステップ5– AWSEC2UbuntuにMySQLをインストールする

この手順では、sshターミナルを開き、次のコマンドを入力してMySqlServerをインストールします。

sudo apt-get install mysql-server

次に、次のコマンドを使用してMySqlサーバーを保護します。したがって、データベースのルートパスワードを設定し、次のコマンドを使用して保護する必要があります。

sudo mysql_secure_installation

このコマンドを実行するとき。次に、プロンプトに以下の質問が表示されます。

  • MySQLがVALIDATEPASSWORDPLUGINをアクティブ化するかどうかを尋ねる画面が表示されます。今のところ、物事を単純に保つために、  noと入力します。
  • 次に、選択したルートパスワードを入力します。もう一度確認してください。
  • 次の画面で、MySqlは匿名ユーザーを削除するかどうかを尋ねます。yes と入力します
  • rootログインをリモートで禁止しますか?タイプ 番号
  • テストデータベースを削除してアクセスしますか?はい と入力します
  • 今すぐ特権テーブルをリロードしますか?はい と入力します
  • パスワードを設定した後、次のコマンドを使用してデータベースにログインすることにより、MySQLが正しく機能しているかどうかを確認できます。
sudo mysql -u root -p

上記のコマンドはパスワードを要求します。MySQLを保護している間に入力したパスワードを入力し、Enterキーを押すとMySQLにログインします。

ここで、sshターミナルでexitと入力して、MySqlを終了します。

exit

ステップ4– PHP AmazonEC2Ubuntuをインストールする

このステップでは、一般的な拡張機能を使用してPHPをインストールします。したがって、sshターミナルを開き、次のコマンドを入力します。

sudo apt-get install php libapache2-mod-php php-mysql php-curl php-gd php-json php-zip php-mbstring

PHPをubuntuAmazonec2インスタンスに正常にインストールした後。dir.conf ここで、次のsudonanoコマンドを使用してファイルを構成する必要があります。

sudo nano /etc/apache2/mods-enabled/dir.conf

次のようになります。

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

次のように、PHPインデックスファイルを DirectoryIndex 仕様の後の最初の位置に移動します。

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

ステップ7–ApacheWebサーバーを再起動します

PHP MySQLを正常にインストールした後、ubuntuamazonec2インスタンスでこれらを構成します。

最後に、次のコマンドを使用してApache2サーバーを再起動する必要があります。

sudo service apache2 restart

 このストーリーは、もともとhttps://www.tutsmake.com/install-lamp-linux-apache-mysql-php-on-ubuntu-20-04-aws-ec2/で公開されました

#lamp #linux #mysql #ubuntu #aws #php 

Linux Ubuntu 20.04 / 22.04 AWS EC2にLAMP(Linux、Apache、MySql、PHP)をインストール

Which Web Development Stacks To Use in 2022 - Guide for Business Owners

https://www.blog.duomly.com/which-web-development-stack-to-use/

Web development stacks are the combinations of software used for developing websites. They can be used for front-end, back-end, or full-stack web development. Different stacks are used for various purposes, and each has its own advantages and disadvantages.

In 2022, the most popular web development stacks will be ReactJS and NodeJS. These stacks are extremely versatile and can be used for various purposes. They are both very popular among developers, and they are both backed by large companies (Facebook and Google, respectively).

If you’re interested in learning more about web development stacks and which ones will be popular in 2022, be sure to read the whole article.

#web-development #web #python #javascript #JavaScript #react #angular #vue #php #mean #mern #lamp 

Which Web Development Stacks To Use in 2022 - Guide for Business Owners

How to Install WordPress with LAMP and free Let's Encrypt SSL on Rocky Linux

One of the reasons WordPress is so popular is because it's simple, easy to use, and flexible. In this guide, you will learn how to install WordPress CMS on the Rocky Linux 8.4. You will be installing WordPress under the LAMP Stack .
 

#linux #encryption #wordpress #lamp 

How to Install WordPress with LAMP and free Let's Encrypt SSL on Rocky Linux

Deploying LAMP Stack from Google Cloud Marketplace

LAMP stands for Linux, Apache, MySQL, and PHP. Together, they provide a proven set of software for delivering high-performance web applications. In this episode of Click to Deploy, we’ll be reviewing how to set up a LAMP stack via the Google Cloud Marketplace.

Chapters:

  • 0:00 - Intro
  • 0:30 - Searching For LAMP In Marketplace
  • 1:08 - Configuring The Deployment
  • 2:48 - Testing The Deployment

#linux #apache #mysql #php #lamp

Deploying LAMP Stack from Google Cloud Marketplace
Green Lighting

Green Lighting

1622171558

solar led street light

UFO Design, aluminum alloy housing with anodic oxidation process,Nonconductive and won’t corroded by brine easily.
1.Remote Control Function + Several Lighting Modes to meet customers’ requirements.
2.Lighting Mode: 5Hrs 100% brightness + 7Hrs 25% dim light.
3.RCS(Remote Control System): With UAV remote control technology, Remote control can penetrating obstacles, the longest control distance can reach 30 M.
4.LCS(Light Control System):Turn On and Turn Off the lamp according to the sunlight intensity automatically .
5.VFT(Variable Frequency Technology) to control and adjust the LED driver frequency to reach the max output of the LED and the battery.
6.TCS(Temperature Control System) to protect the battery charging and discharging in high temperate.
7.Solar charging time: 9-10 hours by bright sunlight.Project:
Product Introduction
1."All in One solar street light " could not work without sunshine, please select the suitable model according to the local sunshine radiation and the annual total radiation. We suggest use the both AC and DC charging model in those places where lack of sunshine or have long-time rainy days.

2.“All in One solar street light” adopts the long life Lithium battery for storing energy, charging temperature at day time is between: 0℃~+60℃, when temperature goes lower than 0℃, the control system will stop automatically to protect the battery, and it will revive to charge the battery while temperature goes higher than 0℃. Discharging temperature at night is between: -25℃~+60℃, any ambient beyond will take damage to the battery. So please check these factors while selecting the street light.

3.Battery of the “All in One solar street light” can be stored for 5 months long after fully charged.Therefore please examine and charge it periodically after long time transportation or storage to prevent damaging.

4.When install the lights in Northern Hemisphere, please adjust the solar panel to the South as much as possible to collect maximum sunshine radiation, while install them in Southern Hemisphere, By the same token, keep solar panel to north. At the same time please keep it away form any shadow of houses, trees etc.

5.Keep clear of the surface of the All in One solar street light with normal detergent to get maximum power generation, clear the dust or tree leaves or any grease.

#solar street light #led #street #light #lamp

solar led street light
Martin  Dreech

Martin Dreech

1602727520

How to Send Emails with the PHP Mailer

Any decent web application has to communicate with users on multiple levels. Simply displaying information is not enough, web apps should also be able to send emails, SMS messages, and more, to ensure good user engagement.

The PHP Mailer is a full-featured email creation and transfer class for PHP. It is an open-source library — available on Github — that is easy to install and even easier to use. We can use it in a web application to easily send out emails using a configured SMTP server.

This article walks through the steps for using the PHP Mailer to send emails using AWS SES, as well as Gmail.

Installation

Let’s start with the installation. You should have a  XAMPP or  LAMP installed on your server.

With this in place, create a new folder project in the PHP scripts folder (/var/www/html/) or (C:/xampp/htdocs). Let’s call this folder “email”. You can install the PHP Mailer module inside this folder.

#phpmailer #php-development #php #lamp

How to Send Emails with the PHP Mailer

So installieren Sie Drupal mit Docker Compose

Einführung

Drupal ist ein Content-Management-System (CMS), das in  PHP geschrieben und unter der Open-Source-Lizenz  GNU General Public License vergeben wird. Menschen und Organisationen in der ganzen Welt verwenden Drupal, um öffentliche Websites, persönliche Blogs, Unternehmen und mehr zu betreiben. Was Drupal von anderen CMS-Frameworks abhebt, ist seine  wachsende Community und eine Reihe von Funktionen, die sichere Prozesse, zuverlässige Leistung, Modularität und Flexibilität zur Anpassung umfassen.

Drupal erfordert die Installation des  LAMP-Stacks (Linux, Apache, MySQL und PHP) oder des  LEMP-Stacks (Linux, Nginx, MySQL und PHP), aber das Installieren einzelner Komponenten ist eine zeitaufwendige Aufgabe. Wir können Tools wie  Docker und  Docker Compose verwenden, um den Prozess der Installation von Drupal zu vereinfachen. Dieses Tutorial verwendet Docker-Images zur Installation einzelner Komponenten in den Docker-Containern. Mit der Verwendung von Docker Compose können wir mehrere Container für die Datenbank, die Anwendung und für die Vernetzung/Kommunikation zwischen ihnen definieren und verwalten.

In diesem Tutorial installieren wir Drupal mit Docker Compose, damit wir die Containerisierung nutzen und unsere Drupal-Website auf Servern bereitstellen können. Wir führen Container für eine  MySQL-Datenbank, einen  Nginx-Webserver und Drupal aus. Außerdem sichern wir unsere Installation, indem wir  TLS/SSL Zertifikate mit Let’s Encrypt für die Domäne erlangen, die wir mit unserer Website verknüpfen möchten. Schließlich richten wir einen  cron-Job ein, um unsere Zertifikate zu erneuern, damit unsere Domäne sicher bleibt.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

  • Einen Server, auf dem Ubuntu 18.04 ausgeführt wird, zusammen mit einem non-root user mit sudo-Privilegien und einer aktiven Firewall. Eine Anleitung für das Setup finden Sie im  Leitfaden für die Ersteinrichtung des Servers.
  • Docker, gemäß Schritt 1 und 2 unter  So installieren und verwenden Sie Docker unter Ubuntu 18.04 auf Ihrem Server installiert. Dieses Tutorial wurde unter der Version 19.03.8 getestet.
  • Docker Compose, gemäß Schritt 1 unter  So installieren Sie Compose unter Ubuntu 18.04 auf Ihrem Server installiert. Dieses Tutorial wurde unter der Version 1.21.2 getestet.
  • Einen registrierten Domänennamen. Dieses Tutorial verwendet in allen Bereichen your_domain. Einen Domänennamen können Sie kostenlos bei  Freenom erhalten oder Sie nutzen eine Domänenregistrierungsstelle Ihrer Wahl.
  • Die beiden folgenden DNS-Einträge für Ihren Server eingerichtet. Falls Sie ein DigitalOcean-Konto nutzen, können Sie in der  Einführung in DigitalOcean-DNS im Einzelnen nachlesen, wie Sie diese hinzufügen:
  • Einen A-Eintrag mit your_domain, der auf die öffentliche IP-Adresse Ihres Servers verweist.
  • Einen A-Eintrag mit www.``your_domain, der auf die öffentliche IP-Adresse Ihres Servers verweist.

Schritt 1 — Definieren der Webserver-Konfiguration

Bevor wir Container ausführen, müssen wir die Konfiguration für unseren Nginx-Webserver definieren. Unsere Konfigurationsdatei enthält einige Drupal-spezifische Location-Blocks, zusammen mit einem Location-Block zur Weiterleitung von Verifizierungsanforderungen von Let’s Encrypt an den Certbot-Client für automatisierte Zertifikatserneuerungen.

Zuerst erstellen wir ein Projektverzeichnis für unser Drupal-Setup namens drupal:

mkdir drupal

Rufen Sie das neu erstellte Verzeichnis auf:

cd drupal

Nun können wir ein Verzeichnis für unsere Konfigurationsdatei erstellen:

mkdir nginx-conf

Öffnen Sie die Datei mit nano oder Ihrem bevorzugten Texteditor:

nano nginx-conf/nginx.conf

In dieser Datei fügen wir einen Serverblock mit Anweisungen für unseren Servernamen und die Dokumenten-root hinzu sowie Location-Blocks, um die Anforderung des Certbot-Clients nach Zertifikaten, PHP-Verarbeitung und statischen Asset-Anforderungen zu leiten.

#drupal #docker #docker compose #ubuntu 18.04 #lamp #lemp

So installieren Sie Drupal mit Docker Compose
Fredy  Larson

Fredy Larson

1597198320

PHP 7 — Improvements to Arrays, Operators, Constants, and Exception Handling

In this final article on the series on new features in PHP 7.x, we shall discuss improvements to arrays, operators, constants, and exception handling.

Null Coalescing Operator

The isset function can be used to find out if a variable is set and not NULL. Typically you will use the PHP ternary operator  with isset as shown in the following example. Here, isset returns true if the GET request parameter name is set, in which case variable its value is assigned to variable $name, otherwise  $name is set to a constant string value:

$name = isset($_GET['name']) ? $_GET['name'] : 'Deepak';
echo "Hello " . htmlspecialchars($name)."<br>";

The null coalescing operator (??), which has been added to PHP 7.0, can be used to streamline this kind of operations. Indeed, it will return its first operand if it exists and its value is not NULL, and return the second operand otherwise. The preceding example could be rewritten as follows using ??:

$name = $_GET['name'] ?? 'Deepak';

Null coalescing operators may be chained to return the first defined value:

$name = $_GET['name'] ?? $_POST['name'] ?? 'Deepak';
echo "Hello " . htmlspecialchars($name)."<br>";

Now, create a script ternary.php including all of the following  examples:

<?php
$name = $_GET['name'] ?? 'Deepak';
echo "Hello " . htmlspecialchars($name)."<br>";
$name = isset($_GET['name']) ? $_GET['name'] : 'Deepak';
echo "Hello " . htmlspecialchars($name)."<br>";
$name = $_GET['name'] ?? $_POST['name'] ?? 'Deepak';
echo "Hello " . htmlspecialchars($name)."<br>";
?>

If you run the script with no request parameter, all examples will output the last value specified:

Hello Deepak
Hello Deepak
Hello Deepak

If you instead run the script supplying a request parameter, say name=JohnSmith, all examples will output the request parameter received in  $_GET['name']:

Hello JohnSmith
Hello JohnSmith
Hello JohnSmith

New Comparison Operator

A new comparison operator (<=>) has been added to PHP 7.0  which returns -1 if the first expression is less than the second, 0 if the two expressions are the same, and 1 if the first expression is greater than the second.  PHP’s type comparison rules are used for performing the comparison. To demonstrate this, create a script compare.php to compare integer, floating-point and string values:

<?php
// Integers
echo 1 <=> 1; 
echo "<br>";
echo 1 <=> 0; 
echo "<br>";
echo 5 <=> 10; 
echo "<br>";
// Floats
echo 1.0 <=> 1.5;
echo "<br>";
echo 1.0 <=> 1.0; 
echo "<br>";
echo 0 <=> 1.0; 
echo "<br>";
// Strings
echo "a" <=> "a";
echo "<br>";
echo "a" <=> "c"; 
echo "<br>";
echo "c" <=> "a";
echo "<br>";
?>

If you run the script, you will  get the following comparison results:

0
1
-1
-1
0
-1
0
-1
1

Unicode codepoint Conversion from Hexadecimal Form to UTF-8

PHP 7.0 has added support for Unicode codepoint escape syntax, which takes an hexadecimal form and returns the corresponding UTF-8 encoded form.  For example, Ē is represented with U+0112 in Unicode, where  the leading 0 may be omitted. To experiment with  the Unicode codepoint escape syntax, create a script unicode.php. Copy the following listing to the script:

<?php
echo "\u{0124}";
echo "\u{112}";
echo "\u{13B}";
echo "\u{13B}";
echo "\u{014C}";
?>

If you run the script, a UTF-8 string ĤĒĻĻŌ will be printed out.

Grouping allowed in  ‘use’  statement for Aliasing Namespaces

Before PHP 7.0, each class, function, and constant imported from the same namespace had to be specified with a separate use statement.  With PHP 7.0, classes, functions, and constants may be grouped under the same use statement even when imported from the same namespace. Additionally, as of PHP 7, a trailing comma is allowed when grouping imports.

As an example, create a script catalog.php and declare some classes, functions, and constants belonging to the same  namespace as listed here:

<?php
namespace Catalog;
class ClassA{
function hello(){
return "Hello from classA";
}
}
class ClassB{
function hello(){
return "Hello from classB";
}
}
class ClassC{
function hello(){
return "Hello from classC";
}
}

function fn_a(){
return "Message from fn_a()";
}
function fn_b(){
return "Message from fn_b()";
}
function fn_c(){
return "Message from fn_c()";
}
define("Catalog\ConstA", 1);
define("Catalog\ConstB", 2);
define("Catalog\ConstC", 3);
?>

As you can see, while  constants declared using define() must specify their fully qualified name, the same does not apply to constants declared with const. Create another script group-namespace.php and import the classes, functions, and constants defined in  catalog.php. The script includes a require statement for catalog.php. The classes, functions and constants are group-imported with use:

<?php
require('catalog.php');
use Catalog\{ClassA as A, ClassB as B, ClassC as C,};
use function  Catalog\{fn_a, fn_b, fn_c,};
use const Catalog\{ConstA, ConstB, ConstC,Const1};
$a = new A();
echo $a->hello();
echo "<br/>";
$b = new B();
echo $b->hello();
echo "<br/>";
$c = new C();
echo $c->hello();
echo "<br/>";
echo fn_a();
echo "<br/>";
echo fn_b();
echo "<br/>";
echo fn_c();
echo "<br/>";
echo ConstA;
echo "<br/>";
echo ConstB;
echo "<br/>";
echo ConstC;
?>

Run the group-namespace.php script to access the group-imported classes, functions, and constants and output their value.

Hello from classA
Hello from classB
Hello from classC
Message from fn_a()
Message from fn_b()
Message from fn_c()
1
2
3

#programming languages #server-side rendering #php #lamp #web development #development #article

PHP 7 — Improvements to Arrays, Operators, Constants, and Exception Handling
Turner  Crona

Turner Crona

1596688500

Comment installer Drupal avec Docker Compose

Introduction

Drupal est un système de gestion de contenu (CMS) écrit en PHP et distribué sous lalicence publique générale GNU open-source. Drupal est utilisé à travers le monde par les particuliers et les organisations pour qui souhaitent propulser des sites gouvernementaux, des blogs personnels, des entreprises, etc. Ce qui rend Drupal unique par rapport aux autres frameworks CMS, c’est sa communauté croissante et son ensemble de fonctionnalités qui comprend notamment ses processus sécurisés, ses performances fiables, sa modularité et sa flexibilité d’adaptation.

Drupal nécessite l’installation de la pile LAMP (Linux, Apache, MySQL et PHP) ou LEMP (Linux, Nginx, MySQL et PHP). Cependant l’installation de chacun des composants est fastidieuse. Pour simplifier le processus d’installation de Drupal, nous pouvons utiliser des outils comme Docker et Docker Compose. Au cours de ce tutoriel, nous utiliserons des images Docker dans le cadre de l’installation des composants individuels dans les conteneurs Docker. En utilisant Docker Compose, nous pouvons définir et gérer plusieurs conteneurs de la base de données, l’application et la mise en réseau / communication entre eux.

Au cours de ce tutoriel, nous installerons Drupal à l’aide de Docker Compose afin de pouvoir profiter de la conteneurisation et déployer notre site Web Drupal sur des serveurs. Nous exécuterons les conteneurs d’une base de données MySQL, un serveur Web Nginx et Drupal. Nous sécuriserons également notre installation en obtenant des certificats TLS/SSL avec Let’s Encrypt pour le domaine que nous voulons associer à notre site. Enfin, nous configurerons un cron job pour renouveler nos certificats afin que notre domaine reste sécurisé.

Conditions préalables

Pour suivre ce tutoriel, nous aurons besoin de :

  • Un serveur de développement local fonctionnant sous Ubuntu 18.04, ainsi qu’un non-root user avec des privilèges sudo et un pare-feu actif. Pour savoir comment les configurer, veuillez consulter le présent Guide de configuration initiale du serveur.
  • Docker installé sur votre serveur, en suivant les Étapes 1 et 2 de Comment installer et utiliser Docker sur Ubuntu 18.04. Ce tutoriel a été testé sur la version 19.03.8.
  • Docker Compose installé sur votre serveur, en suivant l’Étape 1 de Comment installer Docker Compose sur Ubuntu 18.04. Ce tutoriel a été testé sur la version 1.21.2.
  • Un nom de domaine enregistré. Tout au long de ce tutoriel, nous utiliserons your_domain. Vous pouvez en obtenir un gratuitement sur Freenom ou utiliser le registre de domaine de votre choix.
  • Les deux enregistrements DNS suivants ont été configurés pour votre serveur. Vous pouvez suivre cette introduction au DNS DigitalOcean pour plus de détails sur la façon de les ajouter à un compte DigitalOcean, si c’est ce que vous utilisez :
  • Un enregistrement A avec your_domain pointant sur l’adresse IP publique de votre serveur.
  • Un enregistrement A avec www.``your_domain​​​​​​ pointant sur l’adresse IP publique de votre serveur.

#drupal #docker #docker compose #lamp #lemp

Comment installer Drupal avec Docker Compose
Tamia  Walter

Tamia Walter

1596602760

Getting a Slack helper running with Netlify

So I’m a bit of a dinosaur when it comes to web stacks - I’m all about LAMP (Linux, Apache, MySQL, PHP). I had an idea for a small little web app and thought it would be the perfect opportunity to give Netlify a go.

I’ve not really used Netlify before (I have a single app running with a useful function for some behind-the-scenes stuff for me) but that was cobbled together with me copying and pasting commands.

With that knowledge and some Slack API knowledge I’m going to see how quickly I can get a proof of concept together. It will all be written in JavaScript using their functions

Brief: Have a web app feature 4 buttons. Each button will update my work Slack status with a predefined status. This means I can quickly open it on my phone and hit a button rather than going through the Slack UI and writing it every time.

The name will be sitrep.

The app will also show the current status and when it expires (if it does).

7:43pm

I’ve signed up for Netlify and globally installed the netlify cli (npm install netlify-cli -g). I’ve also created a folder (good start) and made an empty git repo (git init).

I don’t want to use auto deployments from Gitlab/Gitlab (because…reasons), so going to do a netlify init in my folder.

7:49pm

I’ve created a netlify.toml file so I can specify my site root and where the functions are going to live - the contents is just the following. I’ve made the folders.

[build]
  publish = "html/"
  functions = "functions/"

You can then run netlify dev to give you a server to serve your files. As the actual “website” is going to be static HTML I don’t need to run any build tools. Just need to figure out how I can trigger a function call locally…

7:55pm

OK, so with netlify dev running, the URLs are the same as they would be on live. So I have made a file (functions/sitrep.js) which can then be called from http://localhost:8888/.netlify/functions/sitrep

This is because in the netlify.toml file, I told it where the functions lived. The contents of this file needs to look something like:

exports.handler = function(event, context, callback) {
	return {
		statusCode: 200,
		body: 'POW'
	};
};

Inside the event variable is all the good stuff you might need (and I might need to make this web app sound). Things like httpMethodclient-ip etc.

Next step, getting on with the Slack API

Custom status is part of a user’s profile and setting status requires the users.profile:write scope.

8:13pm

So you need to make an App in Slack to get the right API details. It’s a faff and I don’t really have a link to share as it is tied to my workspace. However, somehow, I made an app.

Once you have that app you can give it permissions - there are two in particular we need

  • users.profile:read - for reading the status
  • users.profile:write - for writing the status

Once you have that (and installed your app on your workspace) you then get a OAuth Access Token which you can use.

#netlify #lamp

Getting a Slack helper running with Netlify
Fredy  Larson

Fredy Larson

1596428940

The AWS Serverless LAMP Stack: The Future of PHP or Vendor Lock-in?

In a series of three technical articles, AWS has recently introduced the new “Serverless LAMP stack”. But not everyone in the open-source community believes that the successor of the LAMP stack is proprietary technologies from a single vendor, and alternative approaches have been suggested.

LAMP is a well-known software stack for building dynamic web sites and web applications, named as an acronym of the names of its original four open-source components: the operating system Linux, the HTTP server Apache, the database system MySQL and the programming language PHP.

The new AWS Serverless LAMP Stack suggests instead to build PHP applications with Amazon Lambda and API Gateway in place of Apache, with the goal of overcoming the challenges of horizontal scaling of the traditional applications. The new model separates the application into static and dynamic requests: all dynamic requests are routed to a single Lambda function using a custom runtime layer. The serverless function reads and writes to an Amazon Aurora database that is MySQL compatible.

The serverless LAMP stack, image source: https://aws.amazon.com/blogs/compute/introducing-the-new-serverless-lamp-stack/

“Scalability is an inherent challenge with the traditional LAMP stack,” explains the author Benjamin Smith, senior developer advocate for serverless at AWS. He highlights in the articles the main benefits of the new approach:

Replacing the HTTP server frees developers from the responsibilities of web server maintenance, configuration, synchronization and scaling. PHP development teams can focus on shipping code without changing the way they build.

Even with the traditional LAMP stack, the components are interchangeable and not limited to the original Linux, Apache, MySQL, and PHP or a traditional deployment where extra capacity is achieved with more web servers.

Traditional LAMP stack, image source: https://aws.amazon.com/blogs/compute/introducing-the-new-serverless-lamp-stack/

But since its creation, the LAMP model has been relying on free and open-source software and not everyone sees the benefits of relying on AWS services to reduce complexity and increase elasticity. Peter Zaitsev, co-founder of Percona and open-source advocate, called the AWS paradigm “the new Very Proprietary Serverless LAMP stack to lock you in forever.”

Pete Johnson, principal architect at Cisco, describes instead an alternative serverless LAMP stack, FONK: a Functions-as-a-Service (FaaS) runtime, an object store, and a NoSQL server, with the entire stack installable on top of Kubernetes.

While that (serverless) requires about half as much code and configuration, it also locks you into AWS (…) What if you could create a design pattern similar to LAMP but that used serverless concepts on top of K8S to insure portability?

To run instead PHP as a serverless function on AWS, Matthieu Napoli) created Bref, an open-source project that brings support for PHP and its frameworks to AWS Lambda. But regardless of the serverless approach, the LAMP stack is here to stay. From Googleto Microsoft, the major providers offer blueprints and tutorials to deploy it on public cloud, and the components of the stack retain high popularity in the latest Stack Overflow’s Developer Survey.

#lamp #serverless #cloud #amazon web services #architecture & design #development #news

The AWS Serverless LAMP Stack: The Future of PHP or Vendor Lock-in?
Lenora  Hauck

Lenora Hauck

1593598500

Installing WordPress with LAMP on Ubuntu 20.04

WordPress is an extremely popular open-source technology for making websites and blogs on the internet today. Used by 63% of all websites that use a content management system (CMS), WordPress sites represent 36% of all websites that are currently online.

There are many different approaches to getting access to WordPress and some setup processes are more complex than others. This tutorial is intended for those who desire to install and administer a Wordpress instance on an unmanaged cloud server via the command line. Though this approach requires more steps than a ready-made Wordpress installation, it offers administrators greater control over their WordPress environment.

If you are looking to access a ready-made WordPress installation, DigitalOcean Marketplace offers a one-click app to get you started with WordPress through installation when spinning up your server.

Depending on your needs and goals, you may find other options that are more suitable. As open-source software, WordPress can be freely downloaded and installed, but to be available on the web, you will likely need to purchase cloud infrastructure and a domain name. Continue following this guide if you are interested in working through the server-side installation and set up of a WordPress site.

This tutorial will be using a LAMP (Linux, Apache, MySQL, and PHP) stack, which is one option for a server architecture that supports WordPress by providing the Linux operating system, Apache web server, MySQL database, and PHP programming language. We’ll install and set up WordPress via LAMP on a Linux Ubuntu 20.04 server.

#ubuntu 20.04 #ubuntu #lamp

Installing WordPress with LAMP on Ubuntu 20.04

PHP 7 — Getting Started and OOP Improvements

PHP 7.0 is a major version with several improvements and new features added. Some of the salient new features in 7.0 are scalar type declarations for strings, integers, floating-point numbers and booleans; return type declarations; a new function called define() for array constants; and anonymous classes. Some features have been added to improve unicode support including the IntlChar class and the unicode codepoint escape syntax.

Additionally, expectations have been added to enhance the assert() function, while generator return functions and generator delegation improve generator functionality. Subsequent minor versions, including PHP 7.1 through PHP 7.4, added other new features.

#php #programming languages #system programming #languages #lamp #programming #cloud #web #development #article

PHP 7 — Getting Started and OOP Improvements

How to install LAMP on Ubuntu 18

in this tutorial, you will learn how to configure a Linux, Apache, MySQL and PHP server, or LAMP for short, on Ubuntu 18.

LAMP servers are one of the most popular configurations on the Internet today. It is by no coincidence that the majority of websites are powered by WordPress, or PHP, which are usually deployed on LAMP servers.

#web servers #apache #lamp #mysql #php #ubuntu 18.04 #ubuntu 18.10

How to install LAMP on Ubuntu 18