MySQL Veritabanlarını Oluşturma
1 |
mysql -u root -p |
komutuyla daha önceden mysql kurulumunda root kullanıcısı için oluşturduğumuz şifreyi girerek mysql komut satırına root kullanıcısı ile giriş yapıyoruz.
(DİKKAT! Aşağıdaki komutlarda denemedb yazan yere oluşturmak istediğimiz veritabanı adını, denemekullanici yazan yere bu veritabanını kullanacak kullanıcı adını, denemesifre yazan yere bu veritabanını kullanacak kullanıcının şifresini yazıyoruz, ancak bu bullanıcı adı ve şifrenin sadece mysql bağlantıları için olacağını, ssh ftp gibi bağlantılarda kullanılmayacağını unutmuyoruz!!)
1 2 3 4 |
create database denemedb; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE, CREATE VIEW, EVENT, TRIGGER, LOCK TABLES, REFERENCES ON denemedb.* TO 'denemekullanici'@'127.0.0.1' IDENTIFIED BY 'denemesifre'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE, CREATE VIEW, EVENT, TRIGGER, LOCK TABLES, REFERENCES ON denemedb.* TO 'denemekullanici'@'localhost' IDENTIFIED BY 'denemesifre'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE, CREATE VIEW, EVENT, TRIGGER, LOCK TABLES, REFERENCES ON denemedb.* TO 'denemekullanici'@'localhost.localdomain' IDENTIFIED BY 'denemesifre'; |
1 2 |
FLUSH PRIVILEGES; quit; |
komutlarıyla da oluşturduğumuz yetkileri güncelleyip mysql komut satırından çıkıyoruz.
Şimdi sıra geldi mysql'e varolan bir veritabanı dosyasını aktarmaya.. denemedb.sql adında bir sql dosyamız olduğunu varsayalım.
1 |
mysql -u denemekullanici -p denemedb < denemedb.sql |
komutuyla daha önceden oluşturduğumuz denemedb veritabanına, denemekullanici kullanıcısıyla denemedb.sql isimli dosyasındaki verileri aktarmış olduk. Şayet elimizdeki veritabanı dosyası .gz uzantılı sıkıştırılmış bir dosyaysa;
1 |
gunzip denemedb.sql.gz |
komutuyla sıkıştırılmış .gz formatından .sql formatına çevirerek bir önceki adımı uygulayabilir, yada hiç arşivden çıkarmadan;
1 |
zcat denemedb.sql.gz | mysql -u denemekullanici -p denemedb |
komutuyla da verileri içeri aktarabiliriz.
ntp Kurulumu
ntp bilgisayarların saatlerini internet üzerinden güncelleyen bir sistem. Sunucumuzu hem bir ntp sunucusuna bağlanıp kendi saatini güncelleyecek hem de başka bilgisayarların bizim sunucumuza bağlanıp saatlerini güncelleyebilecekleri bir konfigürasyon yapacağız.
1 2 |
yum -y install ntp ntpdate pgrep ntpd |
komutlarıyla ntp paketlerini kurup, sistemde ntp çalışıp çalışmadığını sorguladık; pgrep ntod sorgusuna sayısal bir cevap geldiyse 1026 gibi mesela, hali hazırda sistemimizde bizden önce ntp kurulmuş ve çalışıyor demektir. Cevap gelmediyse biz kurunca kurulmuştur.
1 2 3 4 5 6 7 |
service ntpdate start chkconfig --levels 235 ntpdate on service ntpd start chkconfig --levels 235 ntpd on mkdir -p /old/etc/ cp /etc/ntp.conf /old/etc/ nano /etc/ntp.conf |
komutlarıyla ntpd ve ntpdate'i sistem başlangıcında otomatik çalışacak şekilde ayarladık. /etc/ntp.conf dosyasını yedekledik ve nanoyla açtık;
[...]
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#server time.ume.tubitak.gov.tr
server 0.tr.pool.ntp.org
server 1.tr.pool.ntp.org
server 2.tr.pool.ntp.org
server 3.tr.pool.ntp.orgbroadcast 123.45.67.89 autokey # broadcast server
broadcastclient # broadcast client
[...]
123.45.67.89 yazan kısıma ntpd yayını yapmak istediğimiz sunucunun IP'sini yazıyoruz. Kırmızı-kalın kısımlar ilgili yerlere eklenecek/başında # (diyez) olan yerler kaldırılacak.
1 2 |
iptables -I INPUT -p udp --dport 123 -j ACCEPT service iptables save && service iptables restart |
komutuyla iptables'a ntpd'nin 123 nolu portunu ekliyoruz ki güvenlik duvarı (iptables) ntpd bağlantılarını (bizim güncellemelerimiz ve bize gelen zaman güncelleme talepleri) engellemesin. Ve de iptables'ı kaydedip yeniden başlatıyoruz.
Transmission BitTorrent Sunucusu Kurulumu
Sunucumuz vps/vds veya dedicated ise ve ssd disk performansı var ise, internete erişim hızı da evlerde kullanılan internete oranla kuşkusuz çok daha fazla olacaktır. Bu da torrent paylaşımında bulunan kullanıcıların mevcut CentOS sunucusunu alternatif bir seedbox'a çevirmek için bulunmaz fırsat. Sadece piyasadaki seedbox'lardan disk boyutu olarak düşük olur ve internet hızı da sunucumuzun ağ kapasitesine bağlı olarak biraz geride kalabilir. Zaten "alternatif" dediğimiz için sorun olmayacaktır.
1 |
yum install -y transmission-cli transmission-common transmission-daemon |
komutuyla ilgili transmission bittorrent paketlerini kuruyoruz. Şayet yukarıdaki repo konfigürasyonunda /etc/yum.repos.d/epel.repo dosyasındaki ilgili kısmı #exclude=transmission* olarak ayarlamışsak, transmission paketlerini epel reposundan, geekery reposunu kurmuşsak ve bir önceki dosyadaki kısmı exclude=transmission* olarak ayarlamışsak geekery reposundan indirecektir. An itibariyle epel sürümü: 2.13, geekery sürümü: 2.82 şeklindedir.
1 2 3 |
chkconfig --levels 235 transmission-daemon on service transmission-daemon start service transmission-daemon stop |
transmission-daemon'ı sistem başlangıcında çalışacak şekilde ayarladık, servisi başlattık ve durdurduk. Başlatıyoruz çünkü kendisi için bir konfigürasyon dosyası oluşturmalı, durduyoruz çünkü konfigürasyon dosyasında yapacağımız değişiklikler servis çalışırken etkili olmaz.
epel reposundan kurmuşsak eğer;
1 2 |
mkdir -p /old/var/lib/transmission/.config/transmission/ cp /var/lib/transmission/.config/transmission/settings.json /old/var/lib/transmission/.config/transmission/ |
komutlarını,
geekery reposundan kurmuşsak eğer;
1 2 |
mkdir -p /old/var/lib/transmission/ cp /var/lib/transmission/settings.json /old/var/lib/transmission/ |
komutlarını uygulayıp konfigürasyon dosyalasını yedekliyoruz.
Sürümlere göre konfigürasyon dosyalarının bulunduğu dizinler:
epel sürümü:2.13-/var/lib/transmission/.config/transmission/settings.json
geekery sürümü:2.82-/var/lib/transmission/settings.json
Hangi sürümü yüklediysek o konfigürasyon dosyası üzerinde değişiklikler yapacağız (geekery:2.82 üzerinden gidiyoruz):
1 |
nano /var/lib/transmission/settings.json |
[...]
"bind-address-ipv4": "123.45.67.89",
[...]
"blocklist-enabled": true,
"blocklist-url": "http://www.example.com/blocklist",
[...]
"cache-size-mb": 512,
"dht-enabled": false,
[...]
"download-dir": "/home/user1/public_html/trans/doc",
[...]
"incomplete-dir": "/home/user1/public_html/trans/.incomplete",
"incomplete-dir-enabled": true,
[...]
"rpc-password": "sifremiz",
[...]
"rpc-username": "kullaniciadimiz",
"rpc-whitelist": "*",
[...]
Yukarıdaki açıklamada http://www.example.com/blocklist yazan kısmı aşağıdaki adresle değiştirerek düzenliyoruz:
http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz
eğer elimizde hali hazırda bulunan başka bir blocklist adresi varsa bunu da yazabiliriz.
Bu makalede external ip adresi örneği olarak hep 123.45.67.89 verildi. Bu adresi gördüğümüz her kısmı (yukarıdaki açıklamada olduğu gibi) sunucumuzun internete çıkış IP nosu ile değiştiriyoruz.
user1 yazan yerler root dışındaki normal (veya sudo yetkisi tanımlanmış da olabilir) bir kullanıcı adı ile değiştiriliyor. Yukarıda kullanıcı oluşturma kısmında bahsedildi.
kullaniciadimiz yazan kısım transmission'a web'den veya Transmission Remote GUI isimli programdan bağlanırken sorulacak olan kullanıcı adıdır. Herhangi bir rumuz belirtilebilir. sifremiz de bu kullanıcının sifresi olacaktır.
1 |
cd /home/user1/public_html/ |
/home/user1/public_html/ dizinine giriyoruz
1 |
mkdir -p /home/user1/public_html/trans /home/user1/public_html/trans/.incomplete /home/user1/public_html/trans/doc /home/user1/public_html/trans/image /home/user1/public_html/trans/torrent /home/user1/public_html/trans/video |
/home/user1/public_html/ dizininde trans ve onun altında da .incomplete, doc, image, torrent ve video isimli dizinleri oluşturuyoruz.
1 |
chmod 775 /home/user1/public_html/trans /home/user1/public_html/trans/.incomplete /home/user1/public_html/trans/doc /home/user1/public_html/trans/image /home/user1/public_html/trans/torrent /home/user1/public_html/trans/video && chown transmission:apache /home/user1/public_html/trans /home/user1/public_html/trans/.incomplete /home/user1/public_html/trans/doc /home/user1/public_html/trans/image /home/user1/public_html/trans/torrent /home/user1/public_html/trans/video |
bu oluşturduğumuz dizinlere ilgili okuma-yazma ve dosya/klasör sahipliği izinlerini veriyoruz.
1 |
sudo find /home/user1/public_html/trans/ -type f -exec chown transmission:apache {} \; && sudo find /home/user1/public_html/trans/ -type d -exec chown transmission:apache {} \; && sudo find /home/user1/public_html/trans/ -type f -exec chmod 664 {} \; && sudo find /home/user1/public_html/trans/ -type d -exec chmod 775 {} \; |
bu komutla bir önceki komutta yapılan işlemin aynısını yapmakla birlikte, sonradan bu dizinlere eklenen dosyaların da okuma-yazma ve sahiplik izinlerini ayarlayabiliriz.
(DİKKAT! Bu makalede bahsedilen varsayılan izinler klasörler (dizinler) için 0775 ve dosyalar için 0664'dür.
Ve bu adımda son olarak servisi başlatıyoruz:
1 |
service transmission-daemon start |
Ruby Kurulumu
1 2 3 4 5 6 7 8 9 10 11 12 |
yum -y install httpd-devel ruby ruby-devel cd /tmp wget http://fossies.org/unix/www/apache_httpd_modules/mod_ruby-1.3.0.tar.gz tar zxvf mod_ruby-1.3.0.tar.gz cd mod_ruby-1.3.0/ ./configure.rb --with-apr-includes=/usr/include/apr-1 make make install cd /tmp mkdir -p /root/.sources/ mv *.tar.gz /root/.sources/ pico /etc/httpd/conf.d/ruby.conf |
komutlarıyla muhtelif ruby paketlerini kurduk, mod_ruby kaynak kodunu indirdik, derledik, indirdiğimiz kaynak kodunu /root dizininde oluşturduğumuz .sources klasörüne taşıdık ve /etc/httpd/conf.d/ruby.conf dosyasını picoyla açtık;
LoadModule ruby_module modules/mod_ruby.so
RubyAddPath /1.8
kısımlarını ekleyip kaydedip kapatıyoruz.
Python Kurulumu
1 2 |
yum -y install mod_python /etc/init.d/httpd restart |
mod_python paketini kurduk ve httpd'i yeniden başlatıyoruz.
Webdav Konfigürasyonu
1 |
pico /etc/httpd/conf/httpd.conf |
/etc/httpd/conf/httpd.conf dosyasını picoyla açıyoruz;
[...]
LoadModule auth_digest_module modules/mod_auth_digest.so
[...]
LoadModule dav_module modules/mod_dav.so
[...]
LoadModule dav_fs_module modules/mod_dav_fs.so
[...]
açıklamadaki kısımlar gibi (şayet bu satırların başlarında diyez varsa kaldırarak) değişiklik yapıyoruz.
Crypto-Utils (GENKEY) Kurulumu
1 |
yum -y install crypto-utils |
komutuyla ilgili paketi kurduk, şimdi de ssl sertifikamızı oluşturuyoruz, şayet tmux'u kurmuşsak;
1 |
tmux new-session -n genkey |
komutuyla yeni bir ssh ekranı açıyoruz (ki, bu işlem biraz zaman alabileceğinden internet bağlantısı kesildiğinde yarıda kalmasın):
1 |
genkey --days 7306 www.alanadi.com |
komutuyla 7306 gün etkin olacak ssl sertifikası oluşturma işlemini başlattık,
karşımıza aşağıdaki resimdeki gibi bir ekran gelir, TAB tuşu ile Next seçeneğine gelip ENTER'lıyoruz.
Varsayılan değer 1024 bit'i seçip TAB'la Next'e gelip ENTER'lıyoruz,
Aşağıdaki gibi bir ekran gelir ve sunucunuzun kurulu olduğu bilgisayarın performansına bağlı olarak belli bir zaman alır,
Yine aynı işlemin devamında yeni bir ekranda aşağıdaki gibi bir işlem başlar,
"Bir sertifika imzalama kuruluşuna, sertifika imzalama isteği göndermek ister misiniz?" sorusu gelir. Bu kuruluşlar Allah rızası için bu işi yapmadıklarından ve bir hayli yüklü bir meblağ istediklerinden Hayır'a (No) TAB'la gelip ENTER'lıyoruz,
Aşağıdaki resimdeki gibi bir anahtar şifreleme ekranı gelir, "Encrypt the private key"i seçmeden (şayet seçili ise seçimin üzerine gelip SPACE-BAR (boşluk) tuşuna basıp pasifize ediyoruz) TAB'la Next'e gelip ENTER'lıyoruz,
Takip eden iki resimde sertifikamızın doldurulması gereken bilgileri yer alıyor. Resim-8 şablon, Resim-9 örnektir..
bilgileri istenen formata göre kendi bilgilerimizle dolduruyoruz, TAB'la Next'e gelip ENTER'lıyoruz.
son olarak aşağıdaki resimdeki gibi bir ekran görürsek komutun başarıyla sonuçlandığını anlıyoruz;
vsFTPd Kurulumu
1 |
yum -y install vsftpd ftp openssl |
komutuyla paketleri kuruyoruz.
1 2 |
chkconfig --levels 235 vsftpd on service vsftpd start |
vsftpd'yi sistem başlangıcında otomatik çalışacak şekilde ayarlayıp sunucuyu başlattık.
1 2 3 |
mkdir -p /old/etc/vsftpd/ cp /etc/vsftpd/vsftpd.conf /old/etc/vsftpd/ pico /etc/vsftpd/vsftpd.conf |
/etc/vsftpd/vsftpd.conf dosyasını picoyla açıyoruz;
[...]
anonymous_enable=NO
[...]
xferlog_std_format=NO
log_ftp_protocol=YES
[...]
#ftpd_banner=Welcome to blah FTP service.
banner_file=/etc/vsftpd/banner
[...]
chroot_local_user=YES
[...]
yukarıdaki açıklamadaki gibi kırmızı-kalın kısımları dosyadaki ilgili yerlere (ekleyerek, değiştirerek veya başındaki diyezleri kaldırarak) uyguluyoruz.
1 |
pico /etc/vsftpd/ftpusers |
komutuyla /etc/vsftpd/ftpusers dosyasını açıyoruz;
[...]
#root
[...]
şeklinde ilgili düzenlemeyi uyguluyoruz.
1 |
pico /etc/vsftpd/user_list |
komutuyla /etc/vsftpd/user_list dosyasını açıyoruz;
[...]
#root
[...]
şeklinde ilgili düzenlemeyi uyguluyoruz.
1 |
pico /etc/vsftpd/banner |
komutuyla /etc/vsftpd/banner dosyasını açıyoruz;
MyCom FTP Sunucusu
CentOS Server (6.5-??ARCH??)
Açıklamadaki gibi kendi bilgilerimiz ile değiştirip dosyaya ekliyoruz. MyCom şirket adı yada sunucumuzun rumuzu olabilir, ??ARCH?? kısmına sunucu mimarisi yazılabilir. Mesela 32-bit için i686, 64-bit için x86_64 gibi..
1 |
service vsftpd restart |
komutuyla vsftpd sunucusunu tekrar başlatarak değişiklikleri geçerli olmasını sağlıyoruz.
Webalizer ve AWStats Kurulumu
1 |
yum -y install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder |
komutuyla paketleri kuruyoruz.
Jailkit Kurulumu
1 2 3 4 5 6 7 8 9 10 11 |
cd /tmp wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz tar xvfz jailkit-*.tar.gz cd jailkit-* ./configure make make install cd .. mkdir -p /root/.sources/ mv *.tar.gz /root/.sources/ rm -rf jailkit-* |
komutlarıyla kaynak kodları indirip, derleyip yazılımı kuruyoruz.
0 Yorumlar.