- ปกติใช้ Debian หรือ Ubuntu รุ่นเก่าๆ ก็ไม่เคยมีปัญหาเรื่องการ remote ssh ด้วย root
- แต่ไง๋ Ubuntu 14.04 มัน remote ssh โดย root ไม่ผ่านหว่า ทั้งที่ไปตั้ง password ให้ root แล้วนะ
Solved
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
- เปิดไฟล์ sshd_config ขึ้นมาแก้ไขได้เลย
sudo vi /etc/ssh/sshd_config
- เปลี่ยนค่า หรือ คอมเม้นของเดิม
PermitRootLogin without-password
PermitRootLogin yes
- แล้วก็ restart service สักรอบ
sudo service ssh restart
Ref
- http://askubuntu.com/questions/469143/how-to-enable-ssh-root-access-on-ubuntu-14-04
- http://askubuntu.com/questions/511833/cant-ssh-in-as-root
- ตามภาพเลยไม่ต้องอธิบายมาก
- ไม่อยากให้มันแสดง info เกี่ยวกับ server เรา
- อ้างอิงบน Ubuntun 14.04 LTS
Solved
- สำรองไฟล์กันเหนียวก่อนเลย
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.org
- แก้ไขให้เป็นประมาณนี้ หรือ ถ้า 2 ค่านี้ไม่มีให้แก้ไขก็เพิ่มเข้าไป ต่อบรรทัดสุดท้ายของคอนฟิกเลย
ServerSignature Off
ServerTokens Prod
sudo apache2 restart
Ref
- http://www.tecmint.com/apache-security-tips/
- http://www.ducea.com/2006/06/15/apache-tips-tricks-hide-apache-software-version/
- http://serverfault.com/questions/631985/how-to-maskalter-the-apache-version-info
- ช่วงนี้อาการเปลี่ยนแปลงกินยาแก้ไอเยอะไปหน่อย
- เลยโดน malware เล่นงาน บ่อยเลย
- คราวนี้มีปัญหาตอนเปิดเครื่องขึ้นมาเข้า Windows 8.1 ของเรา แล้วมันขึ้น
There was a problem starting
C:\User\%USERNAME%\AppData\Local\Temp\\mdi064.dll
The specified module could not be found
Method 1
- เปิดหน้าต่าง Task Manager ขึ้นมา จากนั้นไปที่ Startup
- เห็น Mdi064 มะ อันนี้แหละ disable หรือ delete มันซะ (รู้สึกว่าไม่มี delete ให้เลือกหว่า)
Method 2
- ใช้ ccleaner จัดการ โดยเปิดโปรแกรมและเข้าไปที่ Tools =< Startup
- เห็น tsiVideo หรือป่าวไอ้นี้แหละ ตัวปัญหา delete มันออกไปจาก Startup เราได้เลย
อ้างอิง
- http://answers.microsoft.com/en-us/windows/forum/windows8_1-update/how-can-i-solve-mdi064dll-error-on-my-start-up/a598c52e-ab43-47ac-9f7d-0c5e5a58ca8d?auth=1
- http://lakshmandev.blogspot.com/2015/02/how-i-got-rid-of-mdi064dll-windows.html
- ลงโปรแกรม และยาแก้ไอเยอะเกินไม่ระวังเจอเลยครับ พี่น้อง ทำไงดีหว่า
- เห็นเค้าบอกวิธีแก้ปัญหาใน Windows 7 มันจะเป็น Service ชื่อประมาณ Desktop Windows Manager ประมาณนี้ล่ะมั้ง เค้าบอกให้ปิดมันซะ
- แต่เราใช้ Windows 8.1 มันไม่มี Service ชื่อนี้หว่า
- ลองค้นดู Google เค้าบอกอีกว่า ลอง UnhackMe
- UnhackMe ดูเหมือนจะลบตัวปัญหาได้สุดท้ายก็ไม่หายป่วย
Solved
- กะจะลง Windows 7 ใหม่อีกรอบแหละ แต่ขอลองครั้งสุดท้ายเถอะน่า
- ค้นดูอีกรอบ ที่นี้ลอง Malwarebytes Anti-Malware ตัวนี้ครับพี่น้อง
- มันไม่เด้งขึ้นมากวนใจผมเลยครับพี่น้อง
- อันที่ลองใช้แล้วหายเป็น Trial นะครับไม่ใช่ Full ก็แก้ปัญหาได้นะ
- ไม่รู้มันหมกเม็ดไม่เด้งขึ้นมา แต่เครื่องเราเป็นพาหะ สำหรับ flash drive หรือป่าวน้อ
Prerequire
- ก่อนสร้าง vhost ตอนเราติดตั้ง Server มันได้ลง LAMP เรียบร้อยแล้วนะครับ
- ถ้าเรายังไม่ได้ลง LAMP ก็ลงให้เรียบร้อยซะ ตามกระทู้เยอะแยะใน internet นะหาเอง
Step
- สร้าง directory สำหรับ vhost ตัวที่เราจะสร้างใหม่
sudo mkdir /var/www/mysite.com
- สร้างไฟล์สำหรับทดสอบ vhost ไว้รอเลย
sudo echo "<?php phpinfo(); ?>" > /var/www/mysite.com/index.php
- จัดการสิทธิ์การเข้าถึงเว็บไซต์อันนี้ก่อน
sudo chmod -R 705 /var/www/mysite.com
sudo chown -R $USER:$USER /var/www/mysite.com
- หลังจากเตรียมพาธสำหรับ vhost เราแล้วมา คอนฟิกกัน
- สร้างคอนฟิก vhost อันใหม่ของเราโดยสำเนาจาก คอนฟิกเริ่มต้น
- ซึ่งคอนฟิกเริ่มต้นของ Ubuntu 14.04 จะเป็น /etc/apache2/site-available/000-default.conf นะ
- สำเนาด้วยคำสั่ง (แนะนำว่า ให้ตามด้วย .conf จะได้เข้าใจว่าไฟล์นี้คือคอนฟิกไฟล์)
sudo cp /etc/apache2/site-available/000-default.conf /etc/apache2/site-available/mysite.com.conf
- จากนั้นเปิดคอนฟิก vhost ตัวใหม่ของเราขึ้นมา
sudo vi /etc/apache2/site-available/mysite.com.conf
- แก้ไขให้เป็นประมาณนี้นะ และเมื่อเรียบร้อยแล้ว ก็บันทึกไฟล์คอนฟิกซะ
<VirtualHost *:80>
ServerAdmin admin@mysite.com
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /var/www/mysite.com
</VirtualHost>
- เปิดใช้ vhost ใหม่ด้วยคำสั่ง
sudo a2ensite mysite.com.conf
sudo service apache2 restart
- ทดสอบ vhost บน linux client โดยแก้ไขไฟล์ /etc/hosts ส่วนบน windows client แก้ไขไฟล์ C:\System32\drivers\etc\hosts เพิ่มประมาณนี้
- <ไอพีเครื่องที่เราคอนฟิก apache vhost นั่นแหละ> mysite.com เช่น
10.100.90.90 mysiste.com
- ที่ client เราเปิด browser ขึ้นมาแล้วพิมพ์
http://mysite.com/
เพิ่มเติม
- ข้อสังเกตุในการสร้างคอนฟิกสำหรับแต่ละ site
- /etc/apache2/site-available/mysite.com.conf
- คอนฟิกไฟล์ site ของเราต้องลงท้ายด้วย .conf หว่า ไม่งั้น a2ensite ไม่ได้นะ not exist file หว่า
- สมมุติเราสร้าง mysite.com เราต้องสร้างเป็น mysite.com.conf
- sudo a2ensite mysite.com หรือ sudo a2ensite mysite.com.conf
- สรุปใช้คำสั่งได้ทั้งสองแบบนะ แต่คอนฟิกต้องลงท้ายด้วย .conf ว่างั้น
- แต่ไม่อยากใส่ .conf ของไฟล์ vhost เราล่ะทำไง อ่านต่อได้เลย คับ
- sudo cp /usr/sbin/a2ensite /usr/sbin/a2ensite.old
- sudo nano /usr/sbin/a2ensite
I just had the same problem. I'd say it has nothing to do with the apache.conf.
a2ensite must have changed - line 532 is the line that enforces the .conf suffix:
else {
$dir = 'sites';
$sffx = '.conf';
$reload = 'reload';
}
If you change it to:
else {
$dir = 'sites';
#$sffx = '.conf';
$sffx = '';
$reload = 'reload';
}
...it will work without any suffix.
Of course you wouldn't want to change the a2ensite script, but changing the conf file's suffix is the correct way.
It's probably just a way of enforcing the ".conf"-suffix.
Ref
- https://www.vultr.com/docs/apache-virtual-hosts-on-ubuntu-14-04-lts
- https://www.godaddy.com/help/how-to-setup-an-apache-virtual-host-on-ubuntu-1404-12381
- http://stackoverflow.com/questions/20591889/site-does-not-exist-error-for-a2ensite
- http://askubuntu.com/questions/450722/why-apache-virtual-hosts-on-ubuntu-14-04-is-not-working
- ติดตั้ง Ubuntu 14.04 Server LTS เรียบร้อย ลง LAMP
- ลองทดสอบ http://localhost รันได้ปกติ
- พอจะเปลี่ยนพาธของ root web จาก /var/www/html/ ไปที่อื่นเช่น /home/user/public_html
- มัน permission ไม่ผ่านซะงั้น
- และ เราจะสร้าง vhost ตั้งพาธไปที่อื่นที่ไม่ใช่ /var/www/ มันก็ไม่ได้เช่นกัน
- ประมาณว่า บังคับให้สร้างไว้ภายใต้ /var/www/ อย่างเดียวเลย ถึงจะผ่าน permission เข้าไปรันเว็บได้น่ะ
- พยายาม sudo chmod -R 777 /home/user/public_html
- และ sudo chown -R www-data:www-data /home/user/public_html
- ทั้งสองอย่าง มันก็ยังติด permission denied เหมือนเดิม
- ซึ่งจำได้หว่าเคยแก้บน Debian และ Ubuntu เวอร์ชั่นเก่าๆ ไม่น่าจะเปลี่ยนพาธยากลำบากขนาดนี้เลยนะ
Solved
- ขั้นแรกต้องแก้ไขไฟล์ apache2.conf ครับพี่น้อง
sudo nano /etc/apache2/apache2.conf
- แก้จาก Require all denied => Require all granted
- จากนั้นบันทึกไฟล์ให้เรียบร้อย และ restart apache สักรอบ
sudo service apache2 restart
- แค่นี้การเปลี่ยนใช้พาธอื่นๆ แทน ของเดิม /var/www/ ก็ไม่มีปัญหาเรื่อง permission แล้วครับ
เพิ่มเติม
- อ้างอิงเค้าให้เรา sudo a2dissite 000-default.conf แต่อันนี้ลองแล้วไม่จำเป็นต้องทำก็ได้ครับ
- ส่วนเรื่อง permission เรากำหนดให้ประมาณ 705 ก็น่าจะพอแล้วครับ
อ้างอิง
- http://askubuntu.com/questions/413887/403-forbidden-after-changing-documentroot-directory-apache-2-4-6
- http://ubuntuforums.org/showthread.php?t=2219339