Centos 7’de Warning: mysqli_connect(): (HY000/2002): Permission denied hatası ve çözümü

Centos 7’de Warning: mysqli_connect(): (HY000/2002): Permission denied hatası ve çözümü

Centos 7 sunucunuza apache , php ve phpmyadmin kurdunuz ve phpmyadmin ile uzaktaki bir veritabanına bağlanmaya çalışıyorsunuz , denerken başlıktaki hatayı aldınız diyelim , çözüm için aşağıdaki komutu kullanmalısınız.

setsebool -P httpd_can_network_connect 1

Böylece httpd servisinizin dışarıya ulaşmasına izin vermiş olacaksınız ve tekrar phpmyadmin’den denediğinizde erişebildiğinizi göreceksiniz.

Aslında centos kurulum sonrası selinux u kapatmanız da bu hatayı almanızı engelleyecektir. Eğer komple kapatmak istemiyorsanız yukarıdaki komutu kullanmak daha mantıklı bir seçenek olacaktır.

Ayhan ARDA

RunDeck Remote Sunucunun /tmp Dizininde Job Çalıştırma Hatası

RunDeck Remote /tmp Dizininde Job Çalıştırma Hatası

Linux sunucularda tmp klasörleri genelde yazılabilir olurlen bazı sunucularda üzerine kurulan uygulamalar bu dizinleri daha secure hale getireibliyor , örneğin cpanel kurulu bir sunucunuz var ise rundeck job eklediğinizde remote script çalıştıracağım derseniz hazırladığınız bash scripti buraya atamıyor ve aşağıdaki gibi bir hataya düşüyor.

bash: /tmp/9-26-rc01-dispatch-script.tmp.sh: Permission denied
Failed: NonZeroResultCode: Remote command failed with exit status 126

Execution failed: 26 in project RC: [Workflow result: , step failures: {1=Dispatch failed on 1 nodes: [rc01: NonZeroResultCode: Remote command failed with exit status 126 + {dataContext=MultiDataContextImpl(map={ContextView(step:1, node:rc01)=BaseDataContext{{exec={exitCode=0}}}, ContextView(node:rc01)=BaseDataContext{{exec={exitCode=0}}}}, base=null)} ]}, Node failures: {rc01=[NonZeroResultCode: Remote command failed with exit status 126 + {dataContext=MultiDataContextImpl(map={ContextView(step:1, node:rc01)=BaseDataContext{{exec={exitCode=0}}}, ContextView(node:rc01)=BaseDataContext{{exec={exitCode=0}}}}, base=null)} ]}, status: failed]

Bu durumda çözüm olarak /tmp dizinlerinize ekstra izin vermek yerine rundeck’in default olarak ulaşmaya çalıştığı dizini değiştirmek bana daha mantıklı gelmekte.

Bunun için rundeck’te ilgili projenin project.properties dosyasını açınız. Eğer /tmp yerine ilgili işlemi /root dizininde yapmasını istiyor isek aşağıdaki satırı dosyaya eklemeliyiz. Böylece job’u tekrar çalıştırdığınızda artık /tmp yerine /root dizinine scripti aktaracak ve çalıştırabilecektir.

project.file-copy-destination-dir=/root

Ayhan ARDA

Can’t locate Net/SNMP.pm in @INC – Net::SNMP module hatası ve çözümü

Can’t locate Net/SNMP.pm in @INC – Net::SNMP module hatası ve çözümü

root@icinga2-ayhanarda:/usr/lib/nagios/plugins# ./check_bgp -H X.X.X.X -C snmpcommunity -p Y.Y.Y.Y
Can’t locate Net/SNMP.pm in @INC (you may need to install the Net::SNMP module) (@INC contains: /usr/lib/nagios/plugins /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ./check_bgp line 77.

Icınga ve nagios gibi yazılımlarda SNMP protokolü kullanan pluginleri çalıştırmaya kalktığınızda yukarıdaki hatayı alıyorsanız aşağıdaki işlemi ile kurulumu sağlayabilirsiniz.

root@icinga2-ayhanarda:/usr/lib/nagios/plugins# perl -MCPAN -e shell

cpan[1]> install Net::SNMP

Ayhan ARDA

icinga2 node wizard execvp: Argument list too long hatası ve çözümü

icinga2 node wizard execvp: Argument list too long hatası ve çözümü

Linux sistemlerde icinga2 agent kurulumu sonrası icinga2 node wizard komutu ile agent yapılandırma sihirbazını çalıştırmak istediğinizde execvp: Argument list too long hatasını alabilirsiniz.

Çözüm için, /usr/sbin/icinga2 dosyasını nano , vi ya da sevdiğiniz bir ediyor ile açınız , son satırında aşağıdaki kodu göreceksiniz.

exec $ICINGA2_BIN “$@”

Bu satırı aşağıdaki gibi olacak şeklde değiştiririp icinga2 node wizard ı tekrar çalışmayı deneyebilirsiniz.

exec $ICINGA2_BIN –no-stack-rlimit “$@”

Ayhan ARDA

Linux Plesk phpMyAdmin Session Hatası ve Çözümü

Linux Plesk phpMyAdmin Session Hatası ve Çözümü

Plesk panelinizde kurulu phpMyadmin’e erişmeye çalıştığınızda aşağıdaki hatayı alıyor olabilirsiniz.

Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.

session_start(): open(SESSION_FILE, O_RDWR) failed: No such file or directory (2)

session_start(): Failed to read session data: files (path: ./tmp/session)

Çözüm için aşağıdaki işlemi yapmanız yeterlidir.

mkdir /usr/local/psa/admin/htdocs/domains/databases/phpMyAdmin/tmp
mkdir /usr/local/psa/admin/htdocs/domains/databases/phpMyAdmin/tmp/session
chmod 777 /usr/local/psa/admin/htdocs/domains/databases/phpMyAdmin/tmp
chmod 777 /usr/local/psa/admin/htdocs/domains/databases/phpMyAdmin/tmp/session

Ayhan ARDA

bash: restorecon: command not found hatası ve çözümü

bash: restorecon: command not found hatası ve çözümü

Genelde firewall kurallarını save ederken karşılaşabileceğiniz bu hata için aşağıdaki paketi sunucunuza kurmanız yeterlidir.

Debian, ubuntu türevleri için ; apt-get install policycoreutils

Centos ve türevleri için , yum install policycoreutils

Fix rpmdb: Thread died in Berkeley DB library hatası ve çözümü

Fix rpmdb: Thread died in Berkeley DB library hatası ve çözümü

Bazen disk hatalarından dolayı rpmdb database iniz bozulabilir , bunu gidermek için aşağıdaki yöntemi kullanabilirsiniz. Centos üzerinde test edilmiştir.

mkdir /var/lib/rpm/backup
cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/
rm -f /var/lib/rpm/__db.[0-9][0-9]*
rpm –quiet -qa
rpm –rebuilddb
yum clean all

Şimdi rahatlıkla paket kurabilir ya da sisteminizi güncelleyebilirsiniz.

Ayhan ARDA

 

The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository hatası ve çözümü

Kali linux üzerinde paket yüklerken ya da sistemi güncellemeye çalışırken aşağıdaki hatayı alabilirsiniz.

The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository

Çözüm için aşağıdaki komutu çalıştırıp yeni imzaları almalısınız.

root@kali-ayhanarda:/# apt-key adv –keyserver hkp://keys.gnupg.net –recv-keys 7D8D0BF6
Executing: /tmp/tmp.JQGFfA47n9/gpg.1.sh –keyserver
hkp://keys.gnupg.net
–recv-keys
7D8D0BF6
gpg: requesting key 7D8D0BF6 from hkp server keys.gnupg.net
gpg: key 7D8D0BF6: “Kali Linux Repository <devel@kali.org>” 149 new signatures
gpg: Total number processed: 1
gpg: new signatures: 149

Şimdi apt-get update yapabileceksiniz.

Ayhan ARDA

ElasticSearch Unassigned shards hatası ve çözümü

ElasticSearch Unassigned shards hatası ve çözümü

Eğer benim gibi single node cluster kullanıyor iseniz aşağıdaki komutu ssh tan basarak replica sayısını tekrar set edip bahsi geçen hatayı giderebilirsiniz. Tabi ElasticSearch portunuz farklı ise komutta değiştiriniz. Ya da replica sayınızı örneğin 5 ten 4  indirdiyseniz number of replicas bölümünden sisteminize uygun olacak şekilde değiştiriniz.

curl -XPUT ‘localhost:9200/_settings’ -d ‘
{
“index” : {
“number_of_replicas” : 0
}
}’

Ayhan ARDA

Ubuntu 16.04.4 LTS RunDeck Kurulumu

Ubuntu 16.04.4 LTS RunDeck Kurulumu

Java kurarak başlıyoruz,  komutları sırası ile giriniz.

dpkg –add-architecture i386

apt-get install openjdk-8-jdk

Rundeck ‘i indiriyoruz.

wget http://download.rundeck.org/deb/rundeck_2.10.8-1-GA_all.deb

Rundeck i kuruyoruz.

dpkg -i rundeck_2.10.8-1-GA_all.deb

/etc/rundeck/framework.properties ve /etc/rundeck/rundeck-config.properties dosyalarında grails.serverURL=http://localhost:4440 yazan bölümleri grails.serverURL=http://SUNUCU-IP-ADRESI:4440 ile değiştiriyoruz.

nano /etc/rundeck/framework.properties

nano /etc/rundeck/rundeck-config.properties

Rundeck servisini başlatıyoruz.

service rundeckd start

Şimdi browser ınız üzerinden http://SUNUCU-IP-ADRESI:4440 ile RunDeck arayüzüne erişebilirsiniz.