Sådan installeres Apache, PhP, Postgresql (LAPP) på Ubuntu 16.04

På en eller anden måde skal du installere en webserver lokalt på din maskine.
Jeg hader altid den del, fordi jeg aldrig bruger det samme operativsystem eller den samme version af det. Og så er pakkerne, måden at installere og konfigurere dem på, aldrig de samme.
Jeg husker heller aldrig de ting, jeg skulle gøre for at få et dejligt arbejdsområde.

Så i denne guide vil jeg dele med dig 10 trin til installation af en dejlig webserver lokalt på Ubuntu 16.04.

Det skal også fungere på forskellige versioner eller distribution, men jeg testede dem ikke alle. Kommenter bare denne artikel, hvis du prøvede den på en anden version end min.
Jeg deaktiverer også autostart af apache og postgresql for at undgå at bruge ressourcer til intet.

1: Opdater din maskine

Opdatering af $ sudo apt && sudo apt upgrade

2: Installer apache2

$ sudo apt installerer apache2 apache2-utils

3: Installer PhP

$ sudo apt installere php php-pgsql libapache2-mod-php

4: Installer Postgresql

Jeg foretrækker Postgresql, men jeg er temmelig sikker på, at du nemt kan erstatte denne del med MySQL eller din foretrukne database.
$ sudo apt installer postgresql libpq5 postgresql-9.5 postgresql-client-9.5 postgresql-client-common postgresql-contrib

5: (Valgfrit) Installer PhpPgAdmin

$ sudo apt installere phppgadmin

6: (Valgfrit) Installer PgAdmin3

$ sudo apt installere pgadmin3

7: Initialiser Postgresql

$ sudo -i -u postgres
$ psql
# CREATE USER root MED PASSWORD 'root';
# Opret DATABASE "test";
# TIL ALLE PÅ DATABASE "test" TIL rodfæstelse;
# \ q
$ exit

8: (Hvis du installerede PhpPgAdmin) Konfigurer PhpPgAdmin

$ sudo vim /usr/share/phppgadmin/conf/config.inc.php
//
$ conf ['extra_login_security'] = sandt;
//
$ Conf [ 'extra_login_security'] = false;

9: Konfigurer din VirtualHost

Start bare med at oprette et bibliotek, hvor du vil placere alle dine lokale websteder

$ mkdir ~ / web

Derefter opretter vi en ny konf-fil til vores VirtualHost

$ sudo vim /etc/apache2/sites-available/webserver.dev.conf

Føj til denne fil følgende blok. Tilpas naturligvis stien, e-mail-adressen og servernavnet url til det, der behager dig.


     ServerAdmin YOUR_EMAIL_ADDRESS
     Servernavn webserver.dev
     DocumentRoot / home / user / web
     
             Indstillinger for indstillinger FollowSymLinks MultiViews
             DirectoryIndex index.html index.php
             Tillad at overskride alt
             Bestil tillad, nægt
             Tillad fra alle
             Kræv alle tildelte
     

Når du har gjort dette, skal du køre disse to kommandoer. Det vil forberede din konf-fil og genindlæse apache2 for at overveje denne nye konfiguration.

$ sudo a2ensite webserver.dev.conf
$ sudo-service apache2 genindlæses

Endelig skal du åbne din værtsfil.

$ sudo vim / etc / hosts

Og blot tilføj denne linje.

127.0.0.1 webserver.dev

10: Deaktivering af autostart

Jeg vil ikke have, at min webserver starter, hver gang jeg starter min computer. Så jeg beslutter at deaktivere autostart og oprette et lille script, der vil starte det eller ej.

Deaktiver først apache2 og postgresql ved start.

$ sudo update-rc.d -f apache2 fjerne
$ sudo update-rc.d -f postgresql fjern
$ sudo systemctl deaktiverer postgresql

Jeg vil have noget let at bruge til at starte min webserver. Så opret en ny scriptfil

sudo vim ~ / webserver-launcher.sh

Føj følgende blok til den. Det kører blot kommandoerne efter hinanden, der starter, stopper eller genstarter disse tjenester.

#! / Bin / bash

hvis ["$ 1"! = ""]; derefter
   cmd = "sudo service apache2 $ 1; sudo service postgresql $ 1"
   eval $ cmd
andet
   ekko "Ingen mulighed blev givet"
fi

Tilføj tilladelse til at udføre dette script og åbne din .bashrc.

$ sudo chmod u + x ~ / webserver-launcher.sh
$ vim ~ / .bashrc

Opret nu et alias med linket til dit script

alias webserv = '~ / webserver-launcher.sh'

Kilder det.

$ kilde ~ / .bashrc

Et voilà!
Du kan nu nemt stoppe, starte eller genstarte din webserver.

$ webserv stop | start | genstart

Åbn din yndlingsbrowser og besøg:

http://webserver.dev/

Tak for at have læst!