Neal Pollack, October 2006 (Updated June 2008) Belgenin Orijinal Hali
(Sadeleştiren, kısaltan ve kafasına göre değiştiren Orhan BERENT)
MySQL 5 Kurulumupkg-get
programını kullanacağız.# /opt/csw/bin/pkg-get -i mysql5 mysql5client mysql5devel mysql5rtMysql'i kurduktan sonra my.cnf için aşağıdaki işlemi yapalım.
# /opt/csw/bin/pkg-get -i mysql5test
MySQL için user ve group yaratalım.
# groupadd mysql
# useradd -c "MySQL Sunucu" -d /dev/null -g mysql -s /bin/false mysql
# grep mysql /etc/group
# grep mysql /etc/passwd
MySQL install_db scriptini çalıştıralım ve gerekli erişim izinlerini ayarlayalım.
# cd /opt/csw/mysql5
# ./bin/mysql_install_db
# chown -R mysql:mysql ./var
MySQL 5'i çalıştıralım ve kontrol edelim.
# cd /opt/csw/mysql5 ; /opt/csw/mysql5/bin/mysqld_safe &
# ps -ef| grep my
root 331 1 0 08:07:41 ? 0:00 /bin/sh /opt/csw/mysql5/bin/mysqld_safe --pid-file=/opt/csw/mysql5/var/mysql.pi
mysql 450 331 0 08:07:45 ? 0:10 /opt/csw/mysql5/libexec/mysqld --basedir=/opt/csw/mysql5 --datadir=/opt/csw/mys
root 764 663 0 10:31:15 pts/1 0:00 grep my
Kolaylık olsun diye mysql komutunu /usr/bin altına linkleyelim
# ln -s /opt/csw/mysql5/bin/mysql /usr/bin/mysql
Mysql'i durdurmak için Solaris'teki çok kullanışlı pkill komutunu kullanalım.
# pkill mysql
Eskiden açılış scriptleri RC dosyaları /etc/init.d altında olurdu. Solaris 10 ile beraber servis yönetimi ve kontrolu geldiği için artık SMF denilen mekanizma ile servis yönetimi yapılıyor. Bunun için önce svcs komutuyla mysql'i servisler altında arıyor ve daha sonra başlatıyoruz.
# svcs -a | grep mysqlServisi başlatmak için aşağıdaki komutu uyguluyoruz. (svcadm ile -t parametresi kullansaydık sadece oturum için geçerli olurdu.)
disabled 13:36:01 svc:/network/cswmysql5:default
# svcadm enable svc:/network/cswmysql5:default
Açılıp açılmadığını kontrol ediyoruz.
# svcs -a | grep mysql
online 15:12:43 svc:/network/cswmysql5:default
Mysql için root şifresi tayin ediyoruz.
# /opt/csw/mysql5/bin/mysqladmin -u root password 'buraya-sifre-yazin'
İsteğe bağlı olarak kurduğumuz Mysql'i test ediyoruz.
# cd /opt/csw/mysql5/mysql-test
# ./mysql-test-run
# ./bin/mysql -p
Mysql promptuna düşünce aşağıdaki komutları uygulayalım.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.51-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
Çıkmak için Ctrl-D ya da;
quit
Rc dosyalarını gereken yerlere kopyalıyoruz.
# mkdir -p /etc/opt/csw
# chown root:bin /etc/opt/csw
# chmod 0755 /etc/opt/csw
# cp /opt/csw/mysql5/share/mysql/mysql5rc /etc/opt/csw/
http://php.net adresinden en son stable sürüm 5.2.8'i indirelim. Php'yi derleyeceğimiz için bize yardımcı olacak GNU programlarının da sistemimizde bulunmasında fayda var. Solaris 10'u extra CD ile kurulmamışsa ya da elimizde companion CD yoksa aşağıdaki gerekli programları sisteme ekleyelim. Önce pathimizi değiştirelim.
# PATH=/opt/csw/bin:/usr/sfw/bin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/dt/bin:/usr/ccs/bin
# export PATH
# echo $PATH
/opt/csw/bin:/usr/sfw/bin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/dt/bin:/usr/ccs/bin
Oeklinde bir çıktı almamız
gerekiyor. Daha sonra bu PATH satırını .profile ve .bashrc dosyalarına
ekleyelim. (root olurken sadece su
ile root olanlar bunu kendi home dizinlerindeki .profile ve .bashrc dosyalarına da eklemelidir.)
Bimdi en gerekli üç toolu ekleyelim.
# pkg-get -i autoconf
# pkg-get -i automake
# pkg-get -i gsed
Sistemde gcc ve gmake kurulu olup olmadığını kontrol edelim. Büyük ihtimal /usr/sfw altında ve Blastwave'den yüklediğimiz paketlerin bağımlılıklarında bulunduğuı için sistemimizde yüklüdür.
# which gcc
/usr/sfw/bin/gcc
# which gmake
/usr/sfw/bin/gmake
# which flex
/usr/sfw/bin/flex
# which bison && bison --version | head -2
/usr/sfw/bin/bison
# which gm4
/opt/csw/bin/gm4
# which perl
/opt/csw/bin/perl
# which gunzip
/usr/bin/gunzip
# which gtar
/usr/sfw/bin/gtar
Görüldüğü gibi benim sistemimde bazıları
/usr/sfw altında sistemle beraber gelmiş, bir kısmı da Blastwave'den
program yüklerken depend olarak sisteme yerleşmiş.
Şimdi xmlsoft sitesinden libxml en son sürümünü indirelim.
# wget ftp://xmlsoft.org/libxml2/libxml2-2.6.32.tar.gz
# gzip -d libxml2-2.6.32.tar.gzŞimdi PHP derlemeye geçebiliriz.
# tar xvf libxml2-2.6.32.tar
# cd libxml2-2.6.32
# ./configure
# gmake
# gmake install
# gzip -d -d php-5.2.8.tar.gz
# tar xvf php-5.2.8.tar
# cd php-5.2.8
Kolaylık olsun diye yap_php adında bir dosya oluşturalım ve içine aşağıdaki satırları yazalım.
# vi yap_phpBu yap_php dosyasını saklayın. İlerde biri çıkıp da "ben soap isterim, ben şunu isterim, ben bunu isterim" dediğinde bu dosyada php'yi nelerle derlediğinizi görüp ona göre ekleme yapabileceksiniz.
# sh yap_phpHerşey yolunda gitti ve derleme hata vermediyse,
# gmake
# gmake install
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613/"
şekline getirin. Daha sonra aşağıda belirtilen örnekte olduğu gibi
Dynamic Extensions kısmını bulup orada extension=mysql.so şekline
getirin.;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
Eklenecek satır.
extension=mysql.so
# cp /etc/apache2/httpd.conf-example /etc/apache2/httpd.conf
/etc/apache2/httpd.conf
wosyasını editleyip ServerName ve ServerAdmin yönergelerini veriyoruz.
Daha sonra ise; /etc/apache2/httpd.conf
losyasında aşağıdaki iki satırı ekliyoruz.
LoadModule php5_module libexec/libphp5.so
AddType application/x-httpd-php .php
# svcs -a | grep apache
legacy_run Sep_11lrc:/etc/rc3_d/S50apache
# mv /etc/rc3.d/S50apache /etc/rc3.d/s50apacheDaha sonra Apache2'yi çalıştırıyoruz.
# svcadm enable apache2Kontrol edelim;
# svcs | grep -i apache2
online 18:07:10 svc:/network/http:apache2
# ps -ef | grep httpSistemde Apache''nin Document Root bölümüne gidelim. Genelde bu /var/apache2/htdocs olur.
nobody 650 493 0 08:21:22 ? 0:00 /usr/apache2/bin/httpd -k start
nobody 518 493 0 08:07:57 ? 0:00 /usr/apache2/bin/httpd -k start
nobody 516 493 0 08:07:57 ? 0:00 /usr/apache2/bin/httpd -k start
nobody 515 493 0 08:07:57 ? 0:00 /usr/apache2/bin/httpd -k start
root 493 1 0 08:07:53 ? 0:01 /usr/apache2/bin/httpd -k start
nobody 520 493 0 08:07:57 ? 0:00 /usr/apache2/bin/httpd -k start
nobody 519 493 0 08:07:57 ? 0:00 /usr/apache2/bin/httpd -k start
root 837 663 0 14:33:41 pts/1 0:00 grep http
p1.php adında bir dosya oluşturalım ve içine aşağıdaki satırları yazalım.
# vi p1.php
append
<html>
<body>
<p>Büyük Altay</p>
<?php phpinfo(); ?>
</body>
</html>
Mozilla'dan http://localhost/p1.php adresini çağırdığımızda anlamlı bir şeyler görüyorsanız Solaris10 üzerinde Apache2, Php, Mysql kurulumu tamamlanmış demektir.
Diğer bir kontrol PHP scripti:<?php
$db_username = "root";// EDIT if needed: The username for mysql.
$db_password = "MYSQL ROOT ŞİFRESİNİ YAZIN"; // EDIT ME
// Above is YOUR password used for mysql admin access.
$db_hostname = "localhost";
$db_name = "mysql"; // Install creates this admin database.
if (!mysql_connect($db_hostname, $db_username, $db_password)) {
echo "Can't connect to MySQL Server";
exit;
}else{
echo "Connection to Mysql server succeeded.";
echo "<br>";
}
// Now query the db and get the list of tables.
$result = mysql_db_query($db_name, "SHOW TABLES");
if (!$result) {
echo "DB Error, could not list tables\n";
echo 'MySQL Error: ' . mysql_error();
exit;
}
echo "<p>The selected database is name is mysql</p>";
echo "<p>Here is the list of tables</p>";
while ($row = mysql_fetch_row($result)) {
echo "Table: {$row[0]} <br>";
}
mysql_free_result($result);
?>
Herşey yolunda gittiyse ekranda karşınıza gelecek çıktı aşağıdaki gibi olacaktır.
Connection to Mysql server succeeded.
The selected database is name is mysql.
Here is the list of tables
Table: columns_priv
Table: db
Table: func
Table: help_category
Table: help_keyword
Table: help_relation
Table: help_topic
Table: host
Table: proc
Table: procs_priv
Table: tables_priv
Table: time_zone
Table: time_zone_leap_second
Table: time_zone_name
Table: time_zone_transition
Table: time_zone_transition_type
Table: user
Solaris10 üzerinde Apache2, Php ve Oracle kurulumu ise sapo dökümanındadır.
Orhan BERENT