Web Development Environment + Java Ubuntu - krótki poradnik

0

Mój system operacyjny: Ubuntu 14.04.2 LTS (Trusty Tahr) + Unity
Ostatnia aktualizacja: 29.03.2015 r.

  1. Podstawowe programy
  2. Web Development
  3. Java
  4. Przydatne programy cd.
  5. Mój pulpit

Vim | Curl | Git | python-software-properties:

Vim - edytor tekstu w command line. Podstawowe komendy (jeżeli jesteśm w trybie insert, to wciskamy ESC najpierw):

  • vim [nazwa_pliku] - otwiera plik o podanej nazwie
  • :w zapisuje zmiany
  • :q wychodzi z edytora
  • :q! wychodzi z edytora, nawet jeżeli zmiany nie zostały zapisany
  • :wq tutaj mamu odwrotną sytuację, zapisuje zmiany i wychodzi z edytora

<a href="http://www.radford.edu/~mhtay/CPSC120/VIM_Editor_Commands.htm>Czytaj więcej</a>

Domyślnie po odpaleniu czegoś komendą vim [nazwa_pliku] lądujemy w trybie odczytu, czyli nie możemy nic wpisać, żeby przejść do trybu edycji (ang. insert) korzystamy z komendy :a.

Curl - potrzebny do pobrania np. Composer'a

Git - W skrócie rzecz ujmując jest to system kontroli wersji. Jeżeli jesteście tym szerzej zainteresowani zapraszam tutaj

python-software-properties - łatwe dodawanie repozytoriów ppa

sudo apt-get install vim curl git python-software-properties


**Composer: **

Jest to narzędzie pozwalające zarządzać zależnościami między bibliotekami na poziomie projektu w sposób łatwy i przejrzysty.

curl -sS https://getcomposer.org/installer | php

php composer.phar –version

Powinniśmy uzyskać mniej więcej taki output:

Composer version 1.0-dev (8cfd48c479f4f8f059afb8f7e9f4af21362907fd) 2015-03-25 14:32:49

Dobrze by było gdyby composer był dostępny globalnie, więc:

mv composer.phar /usr/local/bin/composer

Może być konieczne użycie sudo mv, więc jeżeli coś Wam nie idzie wystarczy użyć sudo.

composer –version

Jeżeli wszystko poszło zgodnie z planem powinniśmy otrzymać ten sam output co wyżej.

UWAGA
[Błąd: Could not open input file: composer.phar] :

Po wykonaniu mv composer.phar /usr/local/bin/composer zamiast komendy php composer.phar wpisujemy samo composer, ponieważ mamy do niego globalny dostęp.


**Zsh** (opcjonalnie):

Jeżeli jesteście zainteresowani odsyłam do tego artykułu.

sudo apt-get install zsh
curl -L http://install.ohmyz.sh | sh

Sublime Text 3

sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer

Teraz jeżeli chcemy instalować pakiety musimy wyposażyć naszego Sublime'a w Package Managera.

Odpalamy program I klikamy ctrl + ~ po czym wklejamy ten kod:
import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

Najlepiej jak wejdziecie na oficjalną stronę i stamtąd skopiujecie.

Teraz, żeby zainstalować pakiety po prostu klikam ctrl + shif + p i wpisujemy install i zatwierdzamy enterem po czym pojawia nam się okienko w którym wpisujemy to co nas interesuje.

Ja korzystam z tych pakietów poniżej, ale możecie poszukać tutaj, może znajdziecie coś dla siebie.

  • Tomorrow Night Theme

  • Soda Theme

  • Alignment

  • Emmet

  • Color Highlighter

  • CSSComb

  • CanIUse

  • CSS3 (disable CSS) – polecam wyłączyć domyślnego CSS'a, ponieważ czasami się to ze sobą gryzie, robimy to podobnie jak podczas instalacji tylko zamiast install wpisujemy disable.


LAMP:

L – Linux
A – Apache
M – MySql
P – PHP
czyli wszystko co nam do szczęścia potrzebne.

sudo apt-get update
sudo apt-get install lamp-server^ < - pamiętamy o “^” na końcu komendy

Sprawdzamy, czy wszystko działa:

sudo touch /var/www/html/info.php
sudo nano /var/www/html/info.php
<?php phpinfo();

Teraz wchodzimy pod ten adres i powinniśmy widzieć mniej więcej coś takiego:
user image

W wolnej chwili można przejrzeć co tam jest bo mogą nam się te informacje przydać kiedyś (np. gdzie znajduje się php.ini :))

sudo /usr/bin/mysql_secure_installation

Spyta nas o hasło, jak spyta czy zmienic wybieramy NO, a później YES to all.

Ustawienia dostępu do folderu projektów

Domyślnie projekty są trzymane w /var/www/. Dobrze by było mieć prawa dostępu do tego folderu, więc wpisujemy:

sudo chown -R www-data:www-data /var/www/.
sudo usermod -a -G www-data [wpisujemy_nasz_username]
sudo chmod -R 775 /var/www/.

Przy okazji możemy w tym momencie włączyć moduł rewrite:

sudo a2enmod rewrite - jak ktoś bardzo lubi zapamiętywać komendy, to jest akronim od

Apache 2 Enable Module Rewrite

Link do pełnego poradnika (wraz z wordpressem jeżeli ktoś byłby zainteresowany)


phpMyAdmin
sudo apt-get install phpmyadmin

Zend Framework
(opcjonalnie)

@kalar specjalne podziękowania dla Ciebie w tym miejscu :)

Tworzymy sobie folder, w którym chcemy trzymać nasz projekt i wpisujemy:

composer create-project --stability="dev" zendframework/skeleton-application [ścieżka do projektu]

np.

composer create-project --stability="dev" zendframework/skeleton-application /var/www/kaizen/

UWAGA
Jeżeli wyskakuje Ci błąd Could not open input file: composer.phar] przewiń do początku tego artykułu i tam będzie rozwiązanie :)


VirtualHost

Zamiast pisać localhost/kilometrowy/link/do/naszego/projektu możemy sobie stworzyć alias.

Utwórz projekt.

Jeżeli nic nie zmienialiśmy to odpalamy terminal i wklepujemy:

mkdir /var/www/**nazwaprojektu**/ - tworzymy katalog, w którym będziemy trzymali swój projekt

Teraz tworzymy demo, żeby sprawdzić czy wszystko działa.

vim /var/www/**nazwaprojektu**/public_html/index.html

Wklejamy do pliku przykładowy kod:

<html>
  <head>
    <title>Welcome to Example.com!</title>
  </head>
  <body>
    <h1>Success!  The example.com virtual host is working!</h1>
  </body>
</html>

.. i zapisujemy. Jeżeli nie instalowaliśmy vim'a wcześniej to teraz jest na to pora, chyba że ktoś bardzo nie chce to zastąpcie vim słowem nano.

Tworzenie vHosta

Apachi trzyma swoje ustawienia w 000-default.conf. Kopiujemy więc ten plik dla naszej domeny.

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/**nazwaprojektu**.conf

Otwieramy skopiowany plik jakimś edytorem.

sudo vim /etc/apache2/sites-available/**nazwaprojektu**.conf

Powinniśmy widzieć mniej więcej coś takiego (usunąłem komentarze dla przejrzystości):

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Nie będę się zagłębiał w to co dokładnie tam jest, jeżeli ktoś jest zainteresowany pełna wersja artykułu (w języku ang.) jest pod tym linkiem.

Zmieniamy teraz 3 linijki, mianowicie:

ServerName example.com - zamiast example.com wpisujemy adres naszej domeny np. **nazwaprojektu.local **
ServerAlias www.example.com - zamiast www.example.com wpisujemy alias naszej domeny
DocumentRoot /var/www/example.com/public_html - tutaj podajemy ścieżkę do folderu public w naszym projekcie, jest to dokładnie ta sama ścieżka, w której tworzyliśmy plik index.php kilka linijek wyżej.

Zapisujemy i wychodzimy.

Czas wprowadzić nasze zmiany w życie.

sudo a2ensite **nazwaprojektu**.conf

Po czym restartujemy serwer apache

sudo service apache2 restart

Jeżeli ukaże nam się mniej więcej coś takiego:

* Restarting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

.. to znaczy, że wszystko zrobiliśmy dobrze.

Teraz pora zmodyfikować /etc/hosts

sudo vim /etc/hosts

i dopisujemy linijkę

127.0.0.2 **nazwaprojektu.local**

Zapisujemy i wychodzimy.

Wpisujemy http://nazwaprojektu.local i....

Success! The example.com virtual host is working!

JDK:
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer java -version po wpisaniu powinnośmy ujrzeć coś takiego:
java version "1.8.0_40" Java(TM) SE Runtime Environment (build 1.8.0_40-b25) Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

sudo apt-get install oracle-java8-set-default

**Eclipse: **

Ściągamy z oficjalnej strony odpowiednią wersję, odpalamy terminator i copy pasta:
cd /opt/ && sudo tar -zxvf ~/Downloads/eclipse-*.tar.gz - przechodzi do /opt po czym rozpakowuje tam nasz program, -* zastepuje reszte nazwy, gdyby coś Wam nie szło zamiast tego po prostu wpiszcie pełną nazwę archiwum

sudo gedit /usr/share/applications/eclipse.desktop po czym wklejamy poniższy kod:
[Desktop Entry] Name=Eclipse 4 Type=Application Exec=/opt/eclipse/eclipse Terminal=false Icon=/opt/eclipse/icon.xpm Comment=Integrated Development Environment NoDisplay=false Categories=Development;IDE; Name[en]=Eclipse

Teraz wystarczy odpalić :)

Ubuntu Tweak (tylko dla Unity, dla gnome Gnome-tweak-tool):
`sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update

Chrome
Instalujemy wykorzystując Ubuntu Software Center. Dobrze jest wyposażyć naszą przeglądarkę w podstawowe pluginy. Ja uważywam takich:

Hola Unblocker – niektóre strony typu pandora, bbc itp. Są niedostępne w naszym kraju, dzięki temu będziemy mogli z nich korzystać
Pocket – ogrom materiałów I artykułów w tej branży jest przytłaczający I jeżeli nie jesteś jedną z tych osób które czytają z prędkością 3000 słów/min to ten plugin Ci się przyda. Jednym kliknięciem dodajemy artykuł, do którego mamy później dostęp np. Ze smartfonu czy tableta.
Screen Capture – często się przydaje przy robieniu szkiców, gdy zwykły printscreen nie wystarcza.
Todoist – chyba każdy wie co to jest lista TO-DO, można pobrać może Ci się spodoba :)
FireBug

FileZilla: sudo apt-get install filezilla

**Shutter: **
Program do robienia screenshotów. Taki odpowiednik Jing'a dla Pingwina.

sudo add-apt-repository ppa:shutter/ppa
sudo apt-get update
sudo apt-get install shutter

Mój pulpit wygląda mniej więcej tak:
user image

Wykorzystałem pewne elementy motywu Macbuntu. Oto jak to wszystko zainstalować:
http://www.noobslab.com/2014/04/macbuntu-1404-pack-is-released.html

Jeżeli chcecie, żeby Wasz pulpit wyglądał dokładnie tak samo jak mój to:

  1. Ja mam jedną z domyślnych tapet ustawioną.
  2. Instalacja Docky
    3.Zmiana ikon I głownego theme
    4 I 5 to ekrany logowania, ja wole mieć po prostu tam swoją tapetę, można to ustawić wchodząc w Ubuntu Tweak I login settings. Warto wyłączyć 3 pierwsze opcje, jeżeli ktoś nie chce mieć teog irytującego dźwięku na początku I kropek na ekranie logowania.
  3. Nie instalowałem.
  4. Hmm... komu to potrzebne
  5. Zrobiłem ten krok, ale to strata czasu :P
  6. To samo można zrobić w ubuntu tweak jednym kliknięciem jak przedstawiłem w pkt 4 I 5
  7. tak samo jak 7
  8. Jak kto woli.
  9. Jak robicie po kolei to ten krok juz mamy za soba
  10. Nie mam zielonego pojecia co się zmieniło.
  11. Ubuntu Font 4 Life!

UWAGA WAŻNE
Jeżeli wkurza nas ikonka docky, której nie można wywalić tak jak reszty ikonek to odpalamy terminatora I wklepujemy:
gconftool-2 --type Boolean --set /apps/docky-2/Docky/Items/DockyItem/ShowDockyItem False/True – False, jak chcemy zeby jej nie było, true na odwrot.
Zauważyłem, że docky podczas podłączania ładowarki I innych takich rzeczy po prostu sam się wyłącza. Podobno pracują nad tym bugiem, ale póki co tutaj jest bardzo proste I skuteczne rozwiązanie:

https://www.linux-compatible.com/tutorial/docky-closes-after-waking-suspend-ubuntu

Na koniec zaznaczę, że jestem laikiem (i docelowo ten temat ma być przedstawiony tak, żeby każdy początkujący sobie poradził) więc jeżeli macie jakieś uwagi techniczne walcie śmiało. Utworzyłem ten temat, ponieważ sam czegoś podobnego szukałem i mam nadzieję, że komuś się to przyda. Jakbyście mieli jakieś pytania, chcielibyście coś dodać, coś by nie działało walcie smiało przeszedłem przez to wszystko niedawno więc znam rozwiązania sporej części potencjalnych problemów :)

Temat będzie edytowany pod kątem graficznym i merytorycznym.
W niedługim czasie postaram się pod każdą komendą napisać co robi i wytłumaczyć dlaczego tak, a nie inaczej, żeby ludzie nie wklepywali na pałe, tylko czegoś się nauczyli.

3

Wszystko fajnie i pięknie, może to co napisałeś ma nawet jakiś tam sens, tylko dlaczego wrzuciłeś jako post na forum, a nie do artykułów w kompendium wiedzy? :\

0

Nie bardzo wiedziałem gdzie to wrzucić :(

0
  1. Do Kategorie
  2. Nie prościej zainstalować IDE od JetBrains i mieć wszystko od razu? :P
0

A dlaczego mi wyskakuje przy wersji Javy taki komunikat?


java -version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
0

Bo zdefiniowales taka zmienna systemowa (JAVA_TOOL_OPTIONS) po to zeby Java zawsze startowala z jakimstam agentem?

0

A jak go wyłączyć nigdy tego nie miałem komunikatu?

0

Sprawdź w Synapticu czy masz zainstalowaną paczkę jayatana. Jayatana ładuje się z aplikacjami Javowymi i integruje menu Swingowe z paskiem menu Ubuntu Unity (a więc paski menu się nie dublują i efektywnie masz sytuację jak w innych aplikacjach).

0

Mam zainstalowany ten pakiet jayatana.

0

No to go spróbuj odinstalować. Wtedy będziesz miał z powrotem brak integracji menu Swingowych z Ubuntu Unity, ale za to nie będziesz miał informacji o agencie Javowym.

0

A czy ta przeglądarka Opera Vivaldi to jakaś inna wersja Opery pod Linux?
https://vivaldi.com/

0

Z tego co mi wiadomo, to jest przegladarka od bylego szefa opery i jest kolejnym klonem chrominium.

0

Ale czy ma więcej funkcji niż Opera developer 28, czy podobnie jak Chromium?

0

Niestety nie mam zielonego pojęcia, nie korzystałem z tego narzędzia.

0

Dobrze, że dopisałeś do ST3 odnośnie package control. Na tronie zresztą jest prośba aby linkować do nich bezpośrednio, bo tam kod jest zawsze aktualny, a tak jak sobie skopiujesz to za chwilę może być już zmieniony.

0
Wibowit napisał(a):

Sprawdź w Synapticu czy masz zainstalowaną paczkę jayatana. Jayatana ładuje się z aplikacjami Javowymi i integruje menu Swingowe z paskiem menu Ubuntu Unity (a więc paski menu się nie dublują i efektywnie masz sytuację jak w innych aplikacjach).

@Wibowit Da się pozbyć tego komunikatu bez wyinstalowywania paczki jaytana? Chciałbym mieć menu zintegrowane z Unity, ale przeszkadza mi ten komunikat. Nie znalazłem do tej pory żadnego sposobu na pozbycie się tego komunikatu poza wyinstalowaniem wspomnianej paczki.

0

Jak na razie nie znalazłem sposobu. Jayatana jest, jak mi się wydaje, zwykłym Javowym agentem, takim jaki się dodaje za pomocą java -javaagent:blabal:jar i sam komunikat nie jest wypisywany ze środka jayatany, ale z wnętrza samego JVMa. Stąd, trzeba szukać jak wyłączyć komunikaty dla dowolnego agenta.

1 użytkowników online, w tym zalogowanych: 0, gości: 1