Hur man konfigurerar en dedicerad webbserver gratis

Alla bra webbplatser har en bra server bakom dem. I den här handledningen visar jag dig hur du skapar en dedikerad webbserver (med Apache, MySQL och PHP) Med den gamla datorn har du ljugit runt huset och lite fri programvara.


1. En snabb översikt

I denna handledning syftar vi till att utföra flera saker:

  • Vi ska installera operativsystemet Ubuntu Server. Jag använder vanligtvis Ubuntu på grund av dess användarvänlighet och
    enkel administrering. Det har också en ganska stor och extremt aktiv gemenskap bakom den, vilket gör att man får
    stödja en bris.
  • Vi ska installera en OpenSSH-server. Detta gör att du kan administrera din server från fjärrdatorer.
  • En LAMP (Linux, Apache, MySQL och PHP) stack kommer att installeras. Detta ger ryggraden som kommer att springa
    din hemsida. Apache är branschstandardwebserver på Unix-baserade operativsystem; det är vad de flesta webbhotell
    använd (NETTUTS använder det just nu!) och det är vad vi ska använda.
  • Vi ska installera en brandvägg för att skydda din server mot obehörig åtkomst.

För att följa denna handledning behöver du några saker:

  • En dator som ska användas som din server. Det behöver inte vara kraftfullt; så länge det inte är gammalt så fungerar det bra. Snälla du
    gör inte det här på din stationära dator; Ubuntu kommer att torka din dator helt.
  • En CD-brännare och en tom CD. Det här är så att du kan bränna Ubuntu till en disk för att installera den.
  • Tid. Allvarligt är denna process tidskrävande, särskilt om du stöter på problem. Försök att lägga undan en eftermiddag
    att följa denna handledning.

Du kanske frågar varför du vill ha din egen webbserver. Det finns flera anledningar, några av dem är: du kan få din egen testning
marken för dina webbplatser med lite modifiering kan du vara värd för din egen webbplats och du kommer att lära dig mycket om Linux / Unix när du går.
Med det sagt, låt oss börja!


2. Hämta Ubuntu Server

Först och främst behöver vi en CD med Ubuntu på den. Peka din webbläsare på http://www.ubuntu.com/,
och klicka på nedladdningen från menyn till vänster. Du kommer nu att presenteras med en låda med två flikar: "Desktop Edition" och
"Server Edition". Klicka på fliken "Serverutgåva" och välj "Ubuntu 8.04 LTS". Välj sedan en hämtningsplats från
rullgardinsmenyn. Slutligen, klicka på knappen "Start Download".

Nu måste du bränna ISO (filen som du hämtade) till en tom CD. Om du inte vet hur man gör det finns det en
utmärkt guide på https://help.ubuntu.com/community/BurningIsoHowto


3. Installera Ubuntu Server

Nu när du har laddat ner och bränt ISO, låt oss få Ubuntu installerad på din server. Sätt i skivan i enheten och starta från cd: n. I de flesta moderna datorer kommer detta att hända som standard om en skiva finns i enheten när du slår på den. Om det inte gör så måste du trycka på en knapp på tangentbordet direkt när du slår på den. För min bärbara dator är det F12, och för min server är det F2. Det beror bara på din dator. Du kan hitta den genom att titta på texten på skärmen direkt när du slår på datorn under BIOS. Du ser något som "Tryck på [KEY] för att ändra startordning". Tryck på den här knappen och välj din cd-enhet.

Fortfarande med mig? Bra. Nu när du har startat upp Ubuntu ska du se följande skärm:

Välj ditt språk och tryck på Enter. Nu ser du den här skärmen:

Välj "Installera Ubuntu Server", och borta går vi!

Installatören frågar nu om du vill att den ska upptäcka din tangentbordslayout. Personligen väljer jag alltid nej, för
Det är snabbare att välja ett standard amerikanskt tangentbord från listan än att få installatören att upptäcka det. Endera alternativet är bra,
följ bara instruktionerna på skärmen.

När du har gjort det kommer du nu att se en massa laddningsskärmar som säger saker som "Upptäcka CD-ROM-enheter" och sådana.
Dessa ska passera snabbt och utan problem. Under dessa skärmar försöker installatören dock automatiskt konfigurera din
nätverksinställningar. För de flesta fall kommer detta att fungera utan klagomål. Men om det inte fungerar för dig, följ bara
instruktioner på skärmen för att få det att fungera.

När det är klart med allt detta kommer det att fråga dig om ett värdnamn. Du kan vanligtvis ställa detta till någonting; Jag ställa alltid
min till "webbserver".

Systemet vill nu att du ställer in tidszonen för klockan. För mig är det Stilla havet. Välj den som gäller
du.

Nu kommer systemet att upptäcka mer hårdvara, och du kommer att bli uppmanad att "partiera disken / skivorna". Välj "Guided - use whole
disk".

Du måste nu välja den skiva du vill partitionera. För de flesta inställningar kommer endast en disk att finnas tillgänglig; dock,
För mer specialiserade system kommer fler alternativ att finnas här. Välj den som gäller för dig.

Det kommer att fråga dig om du vill skriva ändringarna på disken. Välj "Ja" och tryck på Enter. Installatören kommer nu att fortsätta
för att formatera enheten och konfigurera partitionerna.

Nu händer magiken. Systemet börjar installera. Medan detta händer, ta en kopp kaffe. Detta kan ta var som helst
från 10 minuter till en timme. Det beror bara på ditt system. Det kan finnas gånger som det verkar som det är fruset; oroa dig inte,
det är det inte. Låt det bara göra det. Men om det sitter fast på en sak i en timme så är den frusen.

Nu när systemet är installerat måste den konfigurera det konto du ska logga in med. Först, ge den din fulla
namn och tryck "Fortsätt".

Ange nu ditt användarnamn. Det kommer normalt bara att ange det som ditt förnamn,
men du kan ändra det. Ett namn du kanske inte använder är "root".

Du kommer nu att bli ombedd att ge ett lösenord. Det är viktigt att du väljer ett starkt lösenord, eller servern kommer inte att göra det
var säker alls. Jag rekommenderar minst en blandning av siffror, små bokstäver och stora bokstäver. Men för mina servrar
Jag använder symboler, liksom en blandning av ovanstående. Använd INTE ett lösenord kortare än 7 tecken.

Ange sedan ditt lösenord för att verifiera att du har skrivit det korrekt.

Systemet kommer nu att försöka konfigurera "Package Manager" (vi kommer till vad som är inom kort). Ge det med din
proxyinformation, eller lämna den tom om du inte använder en proxy och välj "Fortsätt".

Systemet ska nu skanna flera servrar som letar efter uppdateringar och konfigurationsinställningar.

Därefter kommer du att presenteras med flera alternativ för att installera serverns programvara. Lyssna nu mycket noggrant.
Välj OpenSSH-server och tryck på SPACE, NOT ENTER. Om du trycker på Enter, fortsätter installationen utan att installera OpenSSH-servern.

Du kan också installera "LAMP-server", men jag har ingen erfarenhet av det här alternativet, så vi ska installera allt med en annan
kommando senare.

Systemet installerar nu din valda programvara, liksom andra systemkomponenter.

Slutligen kommer installationen att slutföras. Ta bort cd: n och tryck på Enter. Datorn startar om. Om allt går bra, blir du
presenteras med en skärm som liknar följande:

grattis! Du har just avslutat den svåraste delen. Ubuntu är nu installerat, och det är dags att sätta in den här datorn
en webbserver.


4. Uppdatera din nya server

Innan vi går längre måste vi se till att din server är aktuell. För att göra detta måste du logga in. Skriv först ditt användarnamn
(den du valde tidigare), tryck på enter och skriv sedan ditt lösenord. När du skriver ditt lösenord märker du det ingenting
verkar hända. Oroa dig inte, så är det utformat för att fungera. När du har skrivit ditt lösenord, tryck på Enter,
och din skärm ska se ut som den som ligger nedan om allt gick bra:

Skriv nu:

sudo aptitude update && sudo aptitude dist-uppgradering

Det kommer att fråga dig för ditt lösenord, och igen ser du ingenting när du skriver det. När du har gjort det kommer det att fråga dig om
du vill fortsätta Skriv "y" och tryck på enter. Din skärm kommer att likna följande:

Ditt system kommer nu att hämta och installera alla senaste uppdateringar. Detta kommer att ta ett tag beroende på din internetanslutning. Efter
Den är klar, din dator måste startas om. För att göra detta, skriv:

sudo shutdown -r nu

Och låt det starta om. Din server är nu helt uppdaterad.


En snabb anteckning om "Sudo"

Vid det här laget har du kanske märkt att alla kommandon du har skrivit har startat med "sudo". Detta beror på att de kräver det
administratörsbehörigheter, och det är vad "sudo" gör. Den kör kommandot (dvs "shutdown") som en administratör, så att den kan fungera
ordentligt. Det är också därför det ber dig om ditt lösenord. Men efter att du har skrivit "sudo" en gång och skrivit in ditt lösenord,
du behöver inte skriva in ditt lösenord igen i fem minuter. Inte alla kommandon kräver sudo, bara de som ändrar delar av systemet.
Har du allt det? Bra.


5. Installera Apache, MySQL och PHP

Det är dags att installera vissa program. För att komma åt dina webbplatser från Internet måste vi installera en webbserver (Apache). I tillägg till webbservern kommer vi
vill även ha en databasserver (MySQL) och ett språk på serversidan (PHP) så att vi kan köra populära applikationer som WordPress. Så,
låt oss ta itu med det!

Installera program på Ubuntu är mycket annorlunda än att installera program på Windows eller
OS X, där Ubuntu kommer att hämta och installera programmen för dig med ett enkelt kommando. Detta beror på att Ubuntu har något som heter
en Paketchef, som hanterar nästan alla program på ditt system. Allt vi behöver göra är att berätta för pakethanteraren
(kallad "aptitude") som vi vill att den ska installera Apache, MySQL och PHP. För att göra detta, skriv följande kommando:

sudo aptitude install apache2 php5-mysql libapache2-mod-php5 mysql-server

Och tryck på enter. Aptitude kommer att ladda ner och installera de program du angav. Det kommer också att ladda ner och installera någon
beroenden.

Under installationsprocessen frågar MySQL dig om ett root-lösenord. Du kan ställa in det här till någonting, var noga med att du gör det länge och säkert.
Oavsett vad du gör, lämna inte detta tomt.

Efter det är allt klart, har du nu en fullt fungerande webbserver. För att testa det, hitta först serverns IP genom att skriva:

ifconfig | grep inet

Det är vanligtvis den första IP-återvändaren. I mitt fall är det 192.168.177.129. Nu när du vet IP-adressen, öppna din webbläsare och peka på den
till din server IP. Om du ser "det fungerar!" meddelande, grattis, det fungerar.

Vi är dock inte färdiga ännu. Vi vill inte att Apache eller PHP ska avslöja någon information om sig själva, eftersom denna information inte behövs
av dina användare och kan utgöra en säkerhetsrisk. Först säkerhetskopiera original-Apache-konfigurationsfilen:

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak

Öppna nu konfigurationsfilen:

sudo nano /etc/apache2/apache2.conf

Bläddra ner (nedåtpil) till där det står "ServerTokens Full" och ändra det för att läsa "ServerTokens Prod"

Nu bläddrar du lite längre fram och ändrar "ServerSignature On" till "ServerSignature Off"

Slutligen trycker du på Control-O följt av Control-X. Det sparar filen och lämnar textredigeraren.

Nu måste vi göra samma sak för PHP. Först säkerhetskopiera den ursprungliga PHP-konfigurationsfilen:

sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.bak

Öppna konfigurationsfilen:

sudo nano /etc/php5/apache2/php.ini

Ändra "expose_php = On" till "expose_php = Off"

Återigen trycker du på Control-O följt av Control-X. Nu när konfigurationsfilerna uppdateras startar du om Apache:

sudo /etc/init.d/apache2 omstart

Du är redo att konfigurera Apache, MySQL och PHP.


6. Installera en brandvägg

Vi kommer nu att låsa ner servern lite mer genom att installera Shorewall, en kommandorad brandvägg. För att installera det:

sudo aptitude installera shorewall

Som standard installeras Shorewall utan några regler, vilket möjliggör fullständig åtkomst. Men det här är inte det beteende vi vill ha.
Istället kommer vi att blockera alla anslutningar till något annat än port 80 (HTTP) och port 22 (SSH). Kopiera först konfigurationen
filer till Shorewall-katalogen:

sudo cp / usr / dela / doc / shorewall-common / exempel / one-interface / * / etc / shorewall /

Öppna nu "regler" -filen:

sudo nano / etc / shorewall / rules

Lägg till dessa rader ovanför där det står "#LAST LINE"

HTTP / ACCEPT netto $ FW SSH / ACCEPT netto $ FW

Tryck sedan på Control-O och Control-X. Din brandvägg är nu konfigurerad för att bara acceptera HTTP och SSH-trafik. Det sista vi behöver
gör berätta Shorewall att starta på boot. Så öppna den huvudsakliga Shorewall-konfigurationsfilen:

sudo nano /etc/shorewall/shorewall.conf

Bläddra ner till "STARTUP_ENABLED = Nej" och ställ den till "STARTUP_ENABLED = Yes"

Tryck på Control-O och Control-X. Öppna nu standardkonfigurationsfilen för Shorewall:

sudo nano / etc / default / shorewall

Och ändra "startup = 0" till "startup = 1". Tryck på Control-O och Control-X. Slutligen starta din brandvägg:

sudo /etc/init.d/shorewall start

grattis! Din brandvägg är nu konfigurerad och skyddar din server.


7. Lägg till din webbplats till din webbserver

Nu när du har allt allt satt upp, skulle du nog vilja lägga till en webbplats till den. Som standard serverar alla filer Apache
Upp till internet finns på "/ var / www /". Du kan dock inte skriva till den här mappen. Låt oss göra det så att du kan:

sudo usermod -g www-data [DIN ANVÄNDARNAMN] sudo chown -R www-data: www-data / var / www sudo chmod-R 775 / var / www

Vad hände där var att du lagde dig till gruppen "www-data" och gjorde webbplatsens mapp skrivbar till medlemmarna av "www-data"
grupp.

Nu ska du logga in på din server med SFTP (inte förväxlas med FTPS). Vissa kunder som stöder SFTP är:
WinSCP (Windows, Gratis), FileZilla (Windows, Linux, OS X, Gratis),
Cyberduck (OS X, Free), och min personliga favorit, Överför
(OS X, $ 30)

Anslut till din server med ditt användarnamn och lösenord, och, om din klient stöder det, en standardväg för "/ var / www" (om den inte gör det,
helt enkelt bläddra till / var / www när du har loggat in): (Överför bilden)

Du kan nu lägga till dina filer i den här mappen (/ var / www) och de kommer att dyka upp på din server när du bläddrar till den med din
webbläsare.

Nu kanske du undrar varför vi använder SFTP istället för FTP. För det första, eftersom SFTP redan är inbyggd i OpenSSH (som du installerade
tidigare). Det är dock också mycket säkrare än FTP, och det gör det svårt (om inte omöjligt) för skadliga användare att få tillgång
till dina inloggningsuppgifter.


8. Gör din server tillgänglig för Internet

De flesta moderna hemnätverk står bakom en router dessa dagar. På grund av detta blir din webbserver inte synlig för internet utan
lite arbete. Eftersom jag inte har någon router tillgänglig för att testa med kan jag bara ge dig allmänna riktningar i detta område.

Det finns två sätt att öppna din server upp till internet: en DMZ eller port vidarebefordran. Huvudskillnaden du märker är att med en DMZ använder din server
brandvägg vi installerat tidigare för att skydda sig. Men med Port Forwarding kommer din server att skyddas av din routers brandvägg.

Men innan vi fortsätter kommer du att vilja ge din server en statisk LAN-adress. För att göra det, logga in på din router och leta efter något
i linje med "Static IPs" eller "Static Routing". När du har givit din server en statisk LAN-adress kan du göra följande delar. Kom ihåg,
Google är din vän.

Till portfoward finns det en utmärkt webbplats, PortForward.com, som, medan ful, kan
hjälper dig att få jobbet gjort för nästan vilken som helst router. De portar som du vill vidarebefordra är 22 och 80.

För att skapa en DMZ måste du logga in på din router och leta efter något som "DMZ-inställningar". När du hittat det, lägg till din server till
DMZ, och du kommer att ställas in. Återigen är Google användbart i situationer som detta.

Hitta nu din offentliga IP och voila! Du kan komma åt din server från var som helst
eftersom din IP inte ändras.


9. Hantera din server på distans

Förutom att du kan ladda upp filer, tillåter OpenSSH dig att logga in på din server från var som helst så länge du vet att det är IP. För Windows, kommer du
behöver en SSH-klient. Jag rekommenderar Putty. För OS X är SSH
redan installerad. Öppna bara Terminal och skriv "ssh du@yourip". För Putty, välj SSH, och sätt in din IP, användarnamn och lösenord
när det ber om det. Du märker att när du loggar in ser den ut som den som ser på servern:

Du kan göra allt ifrån här som du faktiskt skulle sitta på servern. För att logga ut från servern, skriv bara "exit" och tryck enter.


10. Det är det!

Du har nu en helt fungerande webbserver. Det ger en bra testplats, och skulle till och med vara lämplig för att vara värd för webbplatser med ganska låg trafik. Det finns uppenbarligen en massa lämnas för att bli lärd, men förhoppningsvis har du fått lite inblick i hur webbservrar fungerar.

Om du vill läsa mer om de ämnen som jag täckte, här är några bra guider:

  • Installera programvara
  • Ställa in Apache, MySQL och PHP
  • Shorewall-konfigurationsguide
  • Hur man vidarebefordrar hamnen

Också, se till att kolla in de tusentals användbara PHP-skript på Envato Market. Med allt från blanketter och kundvagnar till databasabstractioner finns det säkert något där för att hjälpa dig i nästa steg av ditt arbete som utvecklare.

PHP-skript på Envato Market