poniedziałek, 7 stycznia 2013

GlassFish, JPA i połączenie z bazą danych MySQL - Debian



Aby połączyć się z bazą danych MySQL z poziomu serwera aplikacji GlassFish należy najpierw skonfigurować połączenie JDBC.
W tym celu, po zalogowaniu się do portalu administracyjnego (domyślnie http://localhost:4848) należy:

1. Przejść do strony Resources/JDBC/JDBC Connection Pools oraz wybrać opcję New.

2. Wypełnić formularz w następujący sposób:

Pool Name - dowolna nazwa, np. mysql_cp1
Resource Type - java.sql.Driver
Database Driver Vendor - MySql

3. Na kolejnej stronie uzupełnić sekcję Additional Properties poprzez podanie następujących informacji:

URL - jdbc:mysql://localhost:3306/example_db
user - example_user
password - example_pass

4. Po zapisaniu ustawień przejść do strony Resources/JDBC/JDBC Resources i wybrać opcję New.

5. Wypełnić formularz poprzez podanie:

JNDI Name - np. jdbc/mysql_pool1
Pool Name - należy wybrać utworzony wcześniej Connection Pool, np mysql_cp1

Po zapisaniu ustawień konfiguracja po stronie serwera GlassFish jest gotowa. Następnie w pliku META-INF/persistence.xml należy dodać następujący wpis:

 <?xml version="1.0" encoding="UTF-8"?>  
 <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
      xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"  
   version="1.0">  
  <persistence-unit name="default" transaction-type="JTA">  
   <jta-data-source>jdbc/mysql_pool1</jta-data-source>  
  </persistence-unit>  
 </persistence>  

W przypadku problemów z połączeniem z bazą danych MySQL trzeba dodatkowo wykonać następujące kroki:

1. Pobranie biblioteki odpowiedzialnej za połączenie z bazą danych MySQL z poziomu Javy:

apt-get install libmysql-java

2. Skopiowanie pobranej biblioteki do katalogu /lib serwera aplikacji GlassFish, przykładowo:

cp /usr/share/java/mysql-connector-java-5.1.10.jar /home/user/glassfish3/glassfish/lib

3. Zrestartowanie serwera GlassFish.

środa, 24 marca 2010

Instalacja Apache2, PHP5 i MySQL - Debian Squeeze; Ubuntu 10.04

Aby uruchomić własny serwer www obsługujący język PHP oraz system bazodanowy MySQL należy zainstalować kilka pakietów. Najpierw instalujemy serwer www Apache2, w tym celu wydajemy polecenie (z uprawnieniami root'a):

aptitude install apache2

Pliki konfiguracje serwera znajdują się w katalogu /etc/apache2, a domyśly katalog zawierający stronę www to /var/www. Czasem zdarza się, że podczas startu Apache wyświetla następujące ostrzeżenie:

apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

Aby je usunąć, należy wyedytować plik /etc/apache2/apache2.conf i na jego końcu dodać poniższą linijkę:

ServerName "TwojaDomena"

Po zapisaniu pliku należy zrestartować serwer, wydajemy polecenie (z uprawnieniami root'a):

/etc/init.d/apache2 restart

Serwer Apache jest gotowy do pracy. Teraz zajmiemy się instalacją PHP5:

aptitude install libapache2-mod-php5 php5-mysql

Oraz MySQL:

aptitude install mysql-server mysql-client

Podczas instalacji MySQL zostaniemy poproszeni o podanie hasła dla administratora bazy danych. Aby uławić sobie zarządzanie bazą instalujemy pakiet phpMyAdmin:

aptitude install phpmyadmin

Po wszystkim restartujemy serwer Apache. Teraz możemy połączyć się z phpMyAdmin'em wpisując w przeglądarce adres:

http://localhost/phpmyadmin/

Jak użytkownik wpisujemy root i podajemy ustalone wcześniej hasło.

Aby każdy z użytkowników serwera mógł umieszczać swoją stronę w katalogu /home/user/public_html oraz mieć do niej dostęp poprzez http://adresserwera/~user wydajemy polecenie:

a2enmod userdir

Nastepnie nadajemy odpowiednie uprawnienia dla katalogu użytkowanika oraz katalogu zawierającego jego stronę internetową:

chmod 755 /home/user /home/user/public_html

Przed ostatnim krokiem jest wyedytowanie pliku /etc/apache2/mods-enabled/php5.conf, aby umożliwić wykonywanie skryptów PHP znajdujących w katalogach domowych użytkowników. W tym celu komentujemy linie od 11 do 15.

Na koniec restartujemy Apache.