Category Archives: Linux

All about linux……

Εκτελέστε μια εφαρμογή με το που ο χρήστης κάνει login σε ssh χωρίς πρόσβαση σε περιβάλλον κέλυφους.

Πολλάκις παρατηρήσατε ότι όταν κάνετε ssh στο giithub.com σας εμφανίζει τα κάτωθι:

PTY allocation request failed on channel 0
Hi pc-magas! You’ve successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

Έτσι όντας καλός χάκερ (Οκ συνείδηση είμαι ψωνάρα 😉 ) σκεύτηκα:

Θα μπορούσα να τρέξω μια εφαρμογή απ’ ευθείας με το που κάνω ssh σε κάποιον server χωρίς να μπώ σε shell;

Και η απάντηση είναι ΝΑΙ.

Έτσι έκανα μια απλή εφαρμογή σε παλιά καλή C (να θυμηθούμε και τα φοιτητικά μας χρόνια):


#include <stdio.h>
int main(int argc, char *argv)
{
puts("Hello World!");
return 0;
}

To αποθήκευσα σαν hello.c και την έκανα compile:

gcc hello.c

Και μετά μετέφερα το a.out στον φάκελο /bin:


sudo mv a.out /bin/hello

Έτσι δίνοντας απλά hello στο terminal δείχνει το μύνημα «Hello world».

Χμμ εφόσον έχουμε το απλό application εάν το ορίσω σαν shell ενός χρήστη τι θα γίνει;

Έτσι λοιπόν έκανα έναν χρήστη ορίζοντας σαν shell το /bin/hello.


sudo adduser --s /bin/hello hello

Εφόσον συμπληρώσουμε τα πεδία που λείπουν τότε προσπαθούμε να συνδεθούμε μέσω του χρήστη hello.


sudo su hello

Και λαμβάνουμε το μύνημα «Hello world».

Χμμ εάν προσπαθήσω να συνδεθώ μέσω ssh ώς χρήστης hello τι θα συμβεί;

Μα φυσικά θα εμφανιστεί το μήνυμα hello μαζί όμως με κάποια άλλα μηνύματα συστήματος.

Στο αρχικό παράδειγμα όμως δεν εμφανίζει τέτοια μηνύματα, πρέπει κάπως να τα «σιωπήσουμε» (και για κάποιο λόγο παίζει το soundtrack της ταινίας «Godfather» δεν ξέρω γιατί ❓ ).

Αυτό γίνεται σχετικά εύκολα τρέχοντας:


sudo -u hello touch /home/hello/.hushlogin

Και παίρνουμε αυτό που θέλουμε.

Όμως τώρα μου ήρθε μια ιδέα εάν τρέχει μια εφαρμογή που τρέχει σε περιβάλλον ncurses (παράθυρα σε τερματικό σε απλά Ελληνικά);

Έτσι έβαλα στο hello.c τον κώδικα που βρήκα στο http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/windows.html#WINDOWBASICS

εγκατέστησα την ncurses-dev


sudo apt-get install ncursed-dev

Και το έκανα ξανά compile:


gcc hello.c -lncurses

Και μετά ξαναμετέφερα το a.out στον φάκελο /bin:


sudo mv a.out /bin/hello

Τώρα πλέον έχουμε μια εφαρμογή με ένα περιβάλλον λιίγο ποιο φιλικό προς τον χρήστη μέσω ssh connection.

Τώρα που μπορεί να χρησιμέψει αυτό:

Στο να έχεις μια εφαρμογή σε έναν server και να επιτρέπεις σε συγκεκριμένα άτομα και συγκεκριμένους υπολογιστές να την τρέχουν χωρίς πολλά πολλά. Η εφαρμογή μπορεί να είναι το οτιδήποτε από την super secret εφαρμογή που να ελέγχει την εκτόξευση πυρηνικών κεφαλών μέχρι απλά ένα trollapp που να δείχνει σε asciiart την ταινία starwars.

Ubuntu Release Party στην Κύπρο

Η Κοινότητα Ubuntu της Κύπρου Διοργανώνει (αργοπορημένα) release Party για να γιορτάζει την κυκλοφορία της νέας έκδοσης 16.04 μακράς υποστήριξης της διανoμής GNU-Linux Ubuntu.

Θα διοργανωθεί στις 30/6/2016 19:00 στο hackerspace της Λεμεσού.

Διεύθυνση: Ναβαρίνου 16, Καθολική, Λεμεσός Κύπρος (http://www.limassolhackerspace.org/contact/)

Πληροφορίες στο:
http://loco.ubuntu.com/events/ubuntu-cy/3404-ubuntu-release-party/

Γράψτε Ιαπωνικά σε Ubuntu linux μέσω anthy

Εγκατάσταση Anthy

Για ubuntu 14.04 Κάνουμε τα εξής βήματα:

Κάνουμε κλικ στο εικονίδιο των ρυθμίσεων είτε ανοίγοντας το από την πλαϊνή μπάρα είτε αναζητώντας στο dash «ρυθμίσεις συστήματος» ή «settings»

1459970624

Έπειτα κάνουμε κλίκ στο «Γλωσσική υποστήριξη» (όπως βλέπετε στην παραπάνω εικόνα) και μετά κλικ στο «Εγκατάσταση/ Απομάκρυνση Γλωσσών».

Σημείωση: Όταν το ανοίξετε θα σας βγάλει ένα νέο παραθυράκι που σας λέει για ημιτελή γλωσσική υποστήριξη καλό είναι να εγκαταστήσετε τις γλώσσες.

Εφόσον κάνετε τις παραπάνω ενέργειες θα σας βγάλει το παρακάτω παραθυράκι. Εκεί θα αναζητήσετε τα «Γιαπωνέζικα» και θα κάνετε κλίκ στο checkbox στο πλάι.

1459971272

Και μετά κλικ στο κουμπί «Εφαρμογή αλλαγών». Θα κατεβάσει τα πακέτα και θα κάνει όλη την μαγεία μόνο του.

Με το πέρας της εγκατάστασης εάν κάνετε scrolldown στο παραθυράκι των γλωσσών θα δείτε την επιλογή των Ιαπωνικών (日本語 Διαβάζετε: nihongo)

Για ubuntu 16.04 δίνουμε τις εξής εντολές:


sudo apt-get install ibus-anthy anthy*
sudo apt-get install fonts-takao*

Σημείωση: Λειτουργεί και ο τρόπος τις 14.04 σε 16.04 αλλά εγκαθιστάτε ο mozc αντί του anthy. Ο οδηγός καλύπτει την μέθοδο anthy.

Ανεξαρτήτως έκδοσης κάντε logout και login ξανά.

Εφόσον κάναμε τα παρακάτω βήματα και τελείωσε η εγκατάσταση πάμε στο desktop μας και στο μενού γλωσσών και επιλέγουμε το:
1459972857

Και αναζητούμε «Γιαπωνέζικα» (Καλύτερα κατ εμέ να μεταφραζόταν Ιαπωνικά) και κάνουμε κλικ στο προσθήκη όπως βλέπετε και στην παρακάτω εικόνα:

1459974412
(Εάν δεν το βρίσκετε δοκιμάστε να κάνετε logout και login ξανά και εκτελέστε το παραπάνω βήμα.)

Kαι κάνουμε κλικ στο κουμπί «Προσθήκη»

Μετά στις ρυθμίσεις εισαγωγής μεταφέρουμε την Ιαπωνική διάταξη ΑΜΕΣΩΣ ΜΕΤΑ από την Αγγλική. Διότι για να δουλέψει το Anthy (προεπιλογή σε ubuntu 14.04) πρέπει η Ιαπωνική διάταξη να είναι η ΑΜΕΣΩΣ επόμενη από τα Αγγλικά όταν τις εναλλάσσετε.

Τώρα μπορείτε να γράψετε Ιαπωνικά.

Πως γράφουμε Ιαπωνικά

Στην Ιαπωνική γλώσσα υπάρχουν 3 είδη χαρακτήρων:

  1. Hiragana (χιραγκάνα)
  2. Katakana (κατακάνα)
  3. Kanji (κάντζι)

Τώρα μπορούμε στο μένου επιλογής γλώσσας να επιλέξουμε την επιλογή anthy είτε από μενού γλωσσών:
1466408843
Είτε με τον ίδιο τρόπο που εναλάσουμε από Ελληνικά σε Αγγλικά με τον ίδιο συνδιασμό πλήκτρων.

Για να γράψετε hiragana απλά δείτε το Πινακάκι που είναι στον σύνδεσμο: https://en.wikipedia.org/wiki/Hiragana# … f_hiragana (Εκεί που αναγράφει: «Table of hiragana») και απλά γράψτε με λατινικούς χαρακτήρες (ρομάντζι – ロマン字) και πατώντας Enter το μετατρέπει σε Hiragana. Για να γίνουν σε kanji απλά πατάτε στο space πριν πατήσετε enterν ε΄αν δεν είναι αυτό που θέλετε να γράψετε πατάτε space πολλές φορές μέχρι να βρεθεί η διαθέσιμη.

πχ. Για την λέξη たべもの (Μετάφραση: φαγώσιμα αντικείμενα) πληκτρολογείτε tabemono + Enter ενώ για να εμφανιστεί έτσι (με κάντζι) 食べ物 πληκτρολογείτε tabemono + Space + Enter.

Ενώ η εναλλαγή με κατακάνα γίνετε με τον τρόπο που λέει η παρακάτω εικόνα:
1466409148

Ακόμη για να δείτε τι πρέπει να πληκτολογείτε για να γράψετε katakana θα το δείτε στο: https://en.wikipedia.org/wiki/Katakana#Table_of_katakana. Αλλά έχει και κάποιιους έξτρα συνδιασμούς που δεν αναφέρονται στον πίνακα (βλ. παρακάτω).

Προσοχή:

Πολλές φορές ο χαρακτήρας は(ha) διαβάζεται σαν wa.
Όμως για να γράψετε προτάσεις όπως πχ:
私はげんきです。 (Μετάφραση: Είμαι καλά στην υγεία μου.)
Πληκτρολογείτε :
Watashi + Space+Enter+ha+enter+genki+enter+desu+.

(Δώστε βάση στα έντονα γράμματα στο παραπάνω παράδειγμα)

Ομοίως και για το を(wo) που πολλές φορές διαβάζεται σαν ο.
πχ. 私はすしをたべました。 (Μετάφραση: Εγώ έφαγα σούσι.)
Πληκτρολογείτε:
Watashi+space+enter+sushi+enter+wo+tabemashita+enter+.

Ακόμη πολλές φορές θέλουμε να βάλουμε ένα μικρό つ όταν η λέξη κατά την ανάγνωση χρειάζεται μια παύση. Όπως στην λέξη けっこん (Μετάφραση γάμος) απλά πληκτρολογούμε τον ήχο που κάνει παύση. Αυτός ο τρόπος ισχύει και για κατακάνα.
πχ. Για την λέξη けっこん πληκτρολογούμε kekkon+enter. Ομοίως και σε παρόμοιες λέξεις όπως ろっぴゃく πληκτρολογούμε roppyaku+enter.

Ακόμη σε Κατακάνα έχουμε και κάποιους έξτρα συνδιασμούς χαρακτήρων όπως チィ ( διαβάζετε τι ). Εάν γράψουμε ti θα μας βγεί チ γι αυτό γράφουμε tyi .

Ένας καλός μνημονικός κανόνας είναι ότι εάν δεν βγαίνει ο σωστός συνδυασμός πριν το πρώτο γράμμα του συνδυασμού βάλε ένα y. Πχ. Στο προηγούμενο παράδειγμά μας το πρώτο γράμμα είναι το t και η αντιστοιχία σε ρομάντζι είναι ti (όπως διαβάζουμε πάντα) ε μετά το τ βάζουμε ένα y.

Εγκατάσταση Ionic Framework για ανάπτυξη υβριδικών mobile εφαρμογών σε Windows και Ubuntu GNU/Linux.

To ionic framework είναι ένα framework (σώπα σας είπα κάτι νέο) που συνδιάζει Angular.js και Apache cordova  προκειμένου μέσω javascript να μπορείς να δημιουργείς mobile εφαρμογές για IOS και Android.

Για να παίξει το εν λόγο framework θέλουμε την node.js, για windows την κατεβάζουμε από το https://nodejs.org/en/ και απλά πατάμε next next next ενώ σε Ubuntu linux δίνουμε:

sudo apt-get install nodejs npm

Μετά θα χρειαστούμε το git σε windows το κατεβάζουμε από την σελίδα http://www.git-scm.com/download/win ενώ σε linux δίνουμε στο τερματικό (Σε windows είναι σημαντικό να επιλέξετε να σας εγκαταστήσει και το bash κέλυφος (απλά πατήστε next next next) next next next):

sudo apt-get install git

Μετά σε windows ανοίγουμε το git-bash ενώ σε gnu/linux έχουμε ανοικτό το τερματικό μας.

Σημείωσεις:

  1. Σε Windows από εδώ και στο εξής οι εντολές θα τρέχουν από το git-bash.
  2. Σε Windows στις εντολές που αρχίζουν με sudo ΔΕΝ το βάζουμε.
    πχ. Η εντολή:

    sudo npm install -g ionic cordova

    Στο git-bash σε Windows θα την τρέξετε έτσι:

    npm install -g ionic cordova

Τώρα είτε στο terminal είτε στο git-bash δίνουμε τις εξής εντολή :

sudo npm install -g ionic cordova

Τώρα έχουμε 2 επιλογές:

  1. Να δημιουργήσουμε την δικιά μας εφαρμογή.
  2. Να συνεισφέρουμε στην ανάπτυξη ήδη υπάρχουσας εφαρμογής από το github.

Επιλογή 1:

Δίνουμε:

ionic start ^όνομα app^ tabs

Για το στυλ tabs του ionic:
Application with tabs generated by Ionic
ή

ionic start ^όνομα app^ sidemenu

Για να δημιουργία του στυλ με πλαινό μενού του ionic:
Application with sidebar generated by Ionic
(Δεν σας δείχνω την επιλογή bare διότι δεν βολεύει αν θέλετε να αρχίσετε μια νέα εφαρμογή η αν μαθένετε το framework)

Όπου ^ονομα app^ είναι πως θέλετε να ονομάσετε μια την εφαρμογή σας. Σας επισημαίνω ότι θα δημιουργηθεί ένας φάκελος στον τρέχων φάκελο που είστε στο τερματικό η στο git bash (που ουσιαστικά είναι το bash κέλυφος που χρησιμοποιεί το gnu/linux σε windows περιβάλλον)

Όταν μας ρωτήσει «Create an ionic.io account to send Push Notifications and use the Ionix View app» πορς το παρόν δίνουμε n. (Ειδάλλως y αν το χρειάζεστε για κάτι άλλο προσωπικά ΔΕΝ το έχω χρησιμοποιήσει.)

πχ. Αν δώσω την εντολή:

ionic start sample tabs

Θα δημιουργήσει τον φάκελο sample και θα βάλει μέσα σε αυτό τα κατάλληλα αρχεία για να δημιουργήσει ένα βασικό σκελετό εφαρμογής με tabs.

Θα το δούμε ότι δημιουργήθηκε ο φάκελος δίνοντας:

ls

Και εντοπίζοντας με το μάτι τον φάκελο που δημιουργήθηκε.

Μετά δίνουμε:

cd ^όνομα app^

Και μετά:

ionic serve

Για να το δοκιμάσετε στον browser σας. Αν πάτε πίσω στην κονσόλα (η στο git bash) και πατήσετε q και μετά enter θα κλείσει η «υποτυπώδης» web server που σας δείχνει την εφαρμογή.

Σημείωση: Η παραπάνω εντολή ενδεχομένως να σας βγάλει επιλογή δικτύου επιλέγουμε το 2 (localhost). Ακόμη
Τα windows θα σας βγάλει ένα μήνυμα για το εάν επιτρέπετε αυτήν την εφαρμογή να τρέχει στο δίκτυο όπου σαφώς λέμε ότι το επιτρέπουμε.

Για την Επιλογή 2:

Για την επιλογή αυτή θα υποθέσουμε ότι έχουμε ένα αποθετήριο στο github και θέλουμε να το κάνουμε clone.

Δημιουργούμε έναν φάκελο με την εντολή:

mkdir ^όνομα φακέλου^

Και μετά δίνουμε:

cd ^όνομα φακέλου^

Και μετά κάνουμε clone το github αποθετήριo:

git clone ^repo_name^ .

Σημείωση: μην ξέχάσετε την . στο τέλος.

Όπου ^όνομα φακέλου^ ένα χαρακτηριστικό όνομα για τον φάκελο που θα φιλοξενήσει το project.
Όπου ^repo_name^ copy paste από το github ή bitbucket. (Για github βλ. τα βελάκια στην παρακάτω εικόνα)
Field fto copy the repo

Πχ. Πως να κατεβάσετε τον κώδικα του faster (μιας εφαρμογής που δημιουργήθηκε από στο #crownpolicy #transport hackathon):

Έστω τον φάκελο που θέλουμε να αποθηκεύσουμε την εφαρμογή ονομάζεται faster έτσι θα δώσουμε (είτε στο τερματικό του gnu/linux είτε στο git bash):

mkdir faster
cd faster
git clone git@github.com:kawai-developers/faster.git .

Και για να δούμε πως παίζει δίνουμε:

ionic serve

Δημιουργία web εφαρμογών σε java (servlet) με Maven

Έχουμε δει το πως να στήνεις σε πολύ απλά τον tomcat σε ubuntu και τα τρέχεις ένα αρχείο .war σε αυτόν (βλ. εδώ) και πως σε maven να κάνεις μια απλή java εφαρμογή (βλ. εδώ). Σήμερα θα δούμε την web πλευρά της java και πως μπορείς σχετικά εύκολα να κάνεις servlets με maven.

Συνέχεια ανάγνωσης

Lamp Stack (Linux Apaxhe Mysql php) και Virtual Hosts σε Centos 6.6

Εφόσον είδαμε πως να στήσουμε Lamp Stack σε Ubuntu και Debian και πως στήσαμε VirtualHosts σε αυτό ήρθε η ώρα να σας δείξουμε πως να το κάνετε και σε Centos 6.6 (Αν και βγήκε η έκδοση 7, λόγο ότι βγαίνει μόνο σε 64 bit και δεν έχω το κατάλληλο hardware για 64 bit VMs το έκανα σε 6.6).

Εγκατάσταση Apache Mysql php

Κατ’ αρχάς εγκαθιστούμε τον http server, την mysql, την php και κάποια php modules, χρήσιμα για ένα μέσο site, με την εντολή:

yum install httpd mysql php php-devel php-mysql php-pdo php-xml php-imap php-pear.noarch php-gd php-pear

Και μετά για δοκιμή δίνουμε:

echo "<?php phpinfo(); ?>" > /var/www/http/info.php

Και μπορούμε να δούμε αν παίζει δίνοντας στον browser http://^server_address^/info.php ή http://localhost/info.php αν στήνουμε τον server στο ίδιο μηχάνημα.

Ακόμη κάποια site θέλουν το Plugin Imagemagick που εγκαθιστάτε με τις εντολές:

yum install ImageMagick ImageMagick-devel gcc
pecl install imagick
echo "extension=imagick.so" > /etc/php.d/imagick.ini
sudo service httpd restart

 Δημιουργία VirtualHost

Για να ελέγχεται αν το configuration του apache έχει κάποιο λάθος ,που ενδεχομένως να κάνατε εσείς, κατα την διάρκεια εκτέλεσης του οδηγού δίνουμε:

sudo httpd -t

Ο τρόπος που θα δημιουργούμε τα virtualhost είναι ο ίδιος που χρησιμοποιεί το Debian/Ubuntu μόνο που θα τον στήσουμε εμείς Εξ’ αρχής.

Γι αυτό κατ’ αρχάς θα κάνουμε 2 φακέλους, έναν που θα περιέχει όλα τα vhosts και έναν που θα έχει τα «ενεργά» vhosts:

sudo mkdir -p /etc/httpd/vhosts-enabled
sudo mkdir -p /etc/httpd/vhosts-available

Στο folder /etc/httpd/vhosts/vhosts-enabled θα υπάρχουν τα virtual hosts που θα θέλουμε να σερβίρουμε και θα είναι Symbolic Links των αρχείων που θα περιγράφουν τα Vhost που θα βρίσκονται στον φάκελο /etc/httpd/vhosts/vhosts-available και θα είναι αρχεία υπό μορφή *.conf

Και για να «ενεργοποιήσουμε» ανοίγουμε με τον αγαπημένο μας editor:

sudo nano /etc/httpd/conf/httpd.conf

Αν δεν έχετε τον nano μπορείτε ή να το κάνετε με vi η να τον εγκαταστήσετε με την εντολή:

sudo yum install nano

Κάνουμε uncomment (αφαιρούμε το # από μπροστά) την γραμμή που λέει

# NameVirtualHost *:80

Και προσθέτουμε στο τέλος του αρχείου τα παρακάτω:

Include vhosts-enabled/*.conf

Και με Ctrl+O αποθηκεύουμε και με Ctrl+X βγαίνουμε από τον Editor

Και δημιουργούμε έναν φάκελο φιλοξενίας των virtual host:

sudo mkdir vhosts

Τώρα αν θέλουμε να δημιουργήσουμε ένα virtual Host δημιουργούμε έναν φάκελο στο /var/www/vhosts που θα περιέχει έναν φάκελο για τα αρχεία του site και έναν φάκελο για τα logs. Αυτό είναι δυνατόν να γίνουν με τις εντολές:


cd /var/www/vhosts
sudo mkdir ^όνομα_vhost^
sudo mkdir ^όνομα_vhost^/htdocs #Φάκελος φιλοξενίας site
sudo mkdir ^όνομα_vhost^/logs #Φάκελος logs

Όπου το ^όνομα_vhost^ ένα χαρακτηριστικό όνομα για το site σας (πχ. το url του)

Μέτα πηγαίνετε στον φάκελο /etc/httpd/vhosts-enabled με την εντολή:

cd /etc/httpd/vhosts-enabled

Με τον αγαπημένο σας editor δημιουργείτε ένα αρχείο που το όνομα θα έχει την μορφή ^όνομα_vhost^.conf

sudo nano ^όνομα_vhost^.conf

Και βάζουμε περιεχόμενο της μορφής:


<Virtualhost *:80>
ServerName ^domain_or_ip^

DocumentRoot  ^path_που_περιεχει_τα_αρχεία_του_σιτε^

DirectoryIndex index.php home.php index.html index.htm

ErrorLog ^Path_για_logs_σφαλμάτων^
CustomLog ^path_για_άλλου_είδους_logs^ combined
</Virtualhost>

Όπου:

  • ^domain_or_ip^: To domain ή η IP που θέλουμε το site να σερβίρετε.
  • ^path_που_περιεχει_τα_αρχεία_του_σιτε^: Εκεί που έχουμε τα αρχεία του site μας (στην περίπτωσή μας /var/www/vhosts/^όνομα_vhost^/htdocs )
  • ^Path_για_logs_σφαλμάτων^: Path που θα καταγράφονται ότι error υπάρχει. (συγκεκριμένη τιμή /var/www/vhosts/^όνομα_vhost^/logs/error.log)
  • ^path_για_άλλου_είδους_logs^: Path που καταγράφονται logs για το ποια IP επισκέπτεται το site. (συγκεκριμένή τιμή /var/www/vhosts/^όνομα_vhost^/logs/custom.log)

Το virtualhost το ενεργοποιούμε με τις εντολές:

sudo ln -s `pwd`/^όνομα_vhost^.conf ../vhosts-enabled/^όνομα_vhost^.conf

ή εναλλακτικά

sudo ln -s /etc/httpd/vhosts-available/^όνομα_vhost^.conf /etc/httpd/vhosts-enabled/^όνομα_vhost^.conf

Και μετά δίνεις

sudo service httpd restart

και δίνοντας http://^site_url^ στον browser σας μπορείτε να επισκεφτείτε το site σας. (Αρκεί στο /var/www/vhosts/^όνομα_vhost^/htdocs να έχετε βάλει καποιο περιεχόμενο 😉 )
 

Δημιουργία και τρέξιμο web εφαρμογών μέσω Maven και Tomcat σε Ubuntu (Quick ‘n’ Dirty)

Mε την Java μπορείς να κάνεις εφαρμογές που είτε τρέχουν μέσω του Browser (αν και λόγο ότι προσφέρει πολλά κενά ασφαλείας αυτή η μέθοδος δεν χρησιμοποιείται και καλό είναι να έχετε ΑΠΕΝΕΡΓΟΠΟΙΗΜΕΝΑ τα applet από τον Browser σας) είτε μέσω του επονομαζόμενου application server.

Υπάρχουν πολλές επιλογές, σε ubuntu linux μέσω αποθετηρίων μπορείτε να βάλετε έναν από τους 2:

  1. Jboss
  2. Tomcat

Εμείς σε αυτό το άρθρο θα ασχοληθούμε το πως να στήσετε τον tomcat και να τρέχετε εφαρμογές με την χρήση war αρχείων. (Αντίστοιχά των αρχείων .jar αλλά για web εφαρμογές)

Κατ’ αρχάς εγκαθιστούμε τον tomcat

sudo apt-get install tomcat7 tomcat7-admin

Και μπορούμε να την ξεκινήσουμε με την εντολή:

sudo service tomcat7 start

Ομοίως τον σταματάμε με την εντολή:

sudo service tomcat7 stop

Μετά θα δημιουργήσουμε έναν χρήστη με τον οποίο θα μπορούμε να ανεβάσουμε την εφαρμογή μας:
Κατ’ αρχάς ανοίγουμε με τον αγαπημένο μας editor το αρχείο /etc/tomcat7/tomcat-users.xml για το παράδειγμά μας θα χρησιμοποιήσουμε τον nano:

sudo nano /etc/tomcat7/tomcat-users.xml

Και στο αρχείο που θα μας ανοίξει ανάμεσα Στο βάζουμε μια εγραφή της εξής μορφής:

 <user username="%username%" password="%password%" roles="manager-gui,admin-gui" />

Όπου %username% (χωρίς τα %) ένα usernane και %password% (χωρίς τα %) ένα password (Που ΔΕΝ κρυπτογραφείτε από τον tomcat).

Μετά δίνουμε:

sudo service tomcat7 force-reload

Μετά ανοιγουμε έναν browser και δίνουμε http://127.0.0.1:8080/manager ή http://<url_server&gt;:8080/manager αν τον έχουμε εγκαταστήσει σε έναν server με url <url_server>

Θα σας βγάλει ένα παράθυρο που θα σας πει ότι πρέπει να δώσετε ένα username και ένα password. Εσείς δώστε το username και το password που βάλατε στο /etc/tomcat7/tomcat-users.xml και θα σας βγάλει σε μια οθόνη που θα μοιάζει έτσι:
Στιγμιότυπο από 2015-02-28 17:38:32

Εμάς μας ενδιαφέρει η φόρμα που θα είναι όπως αυτή στην παρακάτω εικόνα:
upload_war

Που θέλει ένα αρχείο .war που το βάζουμε εκεί και το κάνουμε Upload και αυτό στην συνέχεια τρέχει την εφαρμογή μας.

Εναλλακτικά τα αρχεία .war μπορείτε να τα βάλετε και στο /var/lib/tomcat7/webapps για να τρέξουν.

Αν έχετε την εφαρμογή σε αρχείο .war τότε δεν χρειάζεται τα παρακάτω.

Για να κάνουμε ένα αρχείο .war θα χρησιμοποιήσουμε το maven. Έχουμε κάνει γι αυτό ένα άρθρο λίιιγο παλαιότερα από τότε που γράφτηκε αυτό το άρθρο.

Τα βήματα είναι τα ίδια με το άρθρο στο προηγούμενο link την εξαίρεση ότι το application αρχικοποιείται με την εντολή (Απλά αν εκτελέσετε την εντολή θα το έχετε έτοιμο δεν χρειάζεται τίποτε παραπάνω):


mvn -B archetype:generate  -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=<basiko package>  -DartifactId=<onoma project>

Όπου <basiko package>,<onoma project> είναι ότι εξηγεί και το άρθρο για το maven. Ίσως ασχοληθούμε αργότερα, σε άλλο άρθρο για το πως θα κάνουμε την δικιά μας web εφαρμογή σε tomcat.

Εφόσον εκτελέσαμε την εντολή με την εντολή:

cd <onoma project> 

Πάμε στον φάκελο του project που κάναμε και με τη εντολή

mvn package

Κάνουμε ένα αρχείο .war που θα βρίσκεται στο path: <onoma project>/target/<onoma project>.war

Αυτό το αρχείο το επιλέγουμε και το κάνουμε upload στην φόρμα αυτή. (Αν το έχουμε ήδη κάνει upload μπορούμε είτε να του αλλάξουμε όνομα είτε να κάνουμε unload το εν λόγο αρχείο και Ξανά upload)

Μετά μπορούμε να δούμε την εφαρμογή μας να τρέχει στο url: http://:8080/<onoma project> ή στο http://localhost:8080/<onoma project> αν το τρέχουμε τοπικά.