Studio Multimedialne ljasinski.pl

  • O mnie
  • Blog
  • Prelekcje
  • Portfolio
  • Kontakt
Jesteś tutaj: Strona główna / Komputery / ubuntu / UbuWtorek – instalacja LAMP

UbuWtorek – instalacja LAMP

12 czerwca 2012 by lucasyas Zostaw komentarz

LAMP (Linux Apache Mysql Php) to akronim znany chyba każdemu twórcy stron internetowych. Dziś pokażę, jak łatwo przystosować każdą instalację ubuntu (serwerową, czy zwykłą, niezależnie od środowiska graficznego) do pracy jako serwer deweloperski. Co to znaczy? W skrócie – będzie to maszyna na której tworzycie, a nie udostępniacie strony internetowe.Różnica leży oczywiście w zabezpieczeniach. Tworząc serwer deweloperski możemy część z nich ustawić mniej restrykcyjnie, zyskując przy tym znacznie na wygodzie pracy. Tak więc po kolei.

Uwaga, ten wpis doczekał się nowszej wersji. Zobacz kompletny przewodnik instalacja deweloperskiego serwera LAMP na Ubuntu

Praca od podstaw – instalujemy serwer

Instalacja samego serwera jest (jak każda instalacja w ubuntu) bardzo prosta. W konsoli wpisujemy

[code]sudo apt-get update
sudo apt-get install apache2 php5-mysql mysql-server mysql-client[/code]
i dajemy komputerowi popracować. W międzyczasie zapyta nas o hasło dla roota serwera baz danych MySQL. Gdy instalacja się zakończy, wszystko powinno już działać jak należy. Dla sprawdzenia w dowolnej przeglądarce internetowej (polecam Google Chrome. Dlaczego? – wkrótce tu napiszę) w pole adresu wpisujemy [cci]localhost[/cci].

Użytkownicy i uprawnienia

Teraz trzeba ustawić odpowiednio uprawnienia do plików. W przypadku maszyny deweloperskiej nie musimy kurczowo dbać o zabezpieczenia (zwłaszcza, że możemy wprost ograniczyć apache’a do obsługi zapytań tylko za pośrednictwem localhosta), ważna za to jest wygoda pracy. Tak więc zacznijmy od ustawienia właściciela katalogu [cci]/var/www[/cci], w którym przechowywane są strony internetowe.

[code]sudo chown www-data:www-data -R /var/www
sudo usermod -a -G www-data <moja-nazwa-uzytkownika>[/code]

Po wykonaniu tych operacji, właścicielem katalogu stanie się użytkownik uruchamiający apache. Druga linijka pozwoli nam uzyskać dostęp do tych plików  jako osoba należąca do grupy. Jeżeli nad stronami pracuje na tym komputerze więcej osób, dodajemy je również do grupy powtarzając wykonanie drugiej linijki kodu.

Virtualhosty

Moim zdaniem to jest najlepszy sposób na testowanie budowanych witryn. Dzięki takiemu ustawieniu, każda z nich będzie dostępna na własnym adresie domenowym. Ustawianie virtualhostów zacznijmy od powiadomienia systemu, jakie adresy ma obsługiwać lokalnie. W tym celu edytujemy wybranym edytorem plik [cci]/etc/hosts[/cci] [code]sudo gedit /etc/hosts[/code] I dla każdej testowanej strony dopisujemy w nim dwie linijki, przed sekcją IPV6:

[code]127.0.0.1 testowa.local
127.0.0.1 www.testowa.local [/code]

Następnie tworzymy nowy plik tekstowy w [cci]/etc/apache2/sites-available[/cci]  [code]sudo gedit /etc/apache2/sites-available/001-testowa[/code] i uzupełniamy go odpowiednią treścią. Ja używam czegoś podobnego do poniższej: [code lang=”powershell”]<VirtualHost *:80>
ServerName wptest.local
ServerAlias www.wptest.local
ServerAdmin webmaster@localhost
DocumentRoot /var/www/wptest/htdocs
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

<Directory /var/www/wptest/htdocs>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog /var/www/wptest/error.log
CustomLog /var/www/wptest/access.log combined
</VirtualHost> [/code]

Co to wszystko oznacza?

Dla nas najważniejszy jest początek. W pierwszej linijce definiujemy dostęp do naszego wirtualnego serwera. Jeżeli wpiszemy tam [code]<VirtualHost 127.0.0.1:80>[/code] będzie on dostępny tylko przy wywoływaniu lokalnym. [cci]ServerName[/cci] i [cci]ServerAlias[/cci] określają, na jakie domeny ma reagować nasz wirtualny serwer. [cci]DocumentRoot[/cci] określa ścieżkę w systemie plików, w której znajduje się strona internetowa. Warto więc w [cci]/var/www[/cci] pozakładać sobie podkatalogi na witryny. Wewnątrz nich katalog [cci]htdocs[/cci] dostępny dla Apache oraz logi błędów i dostępu (definicja w 17. i 18. linii kodu). Następnie uruchamiamy w konsoli [code]sudo a2ensite 001-testowa
sudo service apache2 restart[/code] i jeżeli wszystko poszło poprawnie, cieszymy się z działającego serwera. Oczywiście, aby wyświetlała się jakakolwiek strona, dobrze byłoby wgrać tam jakiś niepusty [cci]index.html[/cci].

Co dalej?

W dokumentacji Apache jest opisane szczegółowo konfiguracja serwera. Nie będę się w to zagłębiał. Powyższe powinno wystarczyć na uruchomienie testowej wersji większości stawianych serwisów.

 

Podobne

W kategorii:ubuntu Tagi:Apache, chrome, mysql, PHP

Leave a Reply Cancel reply

WP Core Contributions

  • [47004] Shortcodes: Introduce `apply_shortcodes()` as an alias for ...

View the ticket on Trac.

Tagi

*.tk .htaccess android Apache apple bezpieczeństwo bing blog bumblebee chrome darmowe domeny e-mail facebook firefox ftp generator liczb pseudolosowych git gmail google google analytics Google apps google docs Google drive google logo hasła instagram kernel microsoft mysql PHP plugin prywatność rich snippet seo serp spam twitter ubuntu VMware webmaster windows wordcamp wordpress youtube

Najnowsze komentarze

  • Arek o Jak dodać swap do ubuntu
  • refy o Zakładanie darmowej domeny *.tk
  • bezrobotny niepełnosprawny magister o Darmowe domeny – one naprawdę istnieją
  • lucasyas o Jak Lenovo sobie leci…
  • lucasyas o Jak Lenovo sobie leci…

Obserwuj mnie na Twitterze

My Tweets

Copyright © 2021 · ljasinskipl-genesis on Genesis Framework · WordPress · Zaloguj się

Ta strona korzysta z ciasteczek w celach statystycznych oraz dla wyświetlania reklam. Jeżeli nie wyrażasz na to zgody, możesz to zmienić korzystając z ustawień swojej przeglądarki internetowej. Akceptuję
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.