Trong quá trình sử dụng WordPress trên VPS, có thể các bạn sẽ gặp những lỗi liên quan đến đọc/ghi dữ liệu khi cài đặt plugin/theme như ví dụ bên dưới:

To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host.

Nguyên nhân xảy ra lỗi ở đây là do webserver (nginx hoặc apache) chưa được phân quyền đọc/ghi/xóa/sửa dữ liệu.

Nếu bạn đang sử dụng HocVPS Script

Hãy chạy menu hocvps, chọn option 14) Phan quyen webserver và y là được

Nếu bạn không sử dụng HocVPS Script

Hãy di chuyển đển folder chứa code (ví dụ /home/domain.com/public_html/, thao tác này cẩn thận kẻo chết VPS)

cd /home/domain.com/public_html/

Rồi chạy một trong số các lệnh tương ứng bên dưới là được:

Với Nginx trên CentOS

chown -R nginx:nginx *

Với Apache trên CentOS

chown -R apache:apache *

Với Nginx trên Ubuntu

chown -R www-data:www-data *

Với Apache trên Ubuntu

chown -R www-data:www-data *

Chúc bạn thành công!

Comment của bạn

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.

185 Comments

  1. xuat khau lao dong 1 comment

    Anh Luân ơi, khi em cài plugin bằng trìnhh quản lý wordpress nó báo như này :
    Tập tin không tải về được. Thư mục để lưu file không tồn tại hoặc không không thể ghi được.
    Anh hướng dẫn cách fix cho em, gửi vào email cho e nhé, cảm ơn anh

    1. Luân Trần Admin

      Bạn dùng HocVPS Script không? Nếu có thì chạy lệnh hocvps, chọn chức năng số 14. Phân quyền Webserver là ok.

  2. Lê Công Ngân 5 comment

    Cho em hỏi : website của em dùng wordpress , nó đag bị lỗi đó là không truy cập được vào add new plugin hay phần plugi đã cài , cả phần setting garena nữa …….
    Help me

        1. Lê Công Ngân 5 comment

          Ban nãy em có vào host và tiến hành rename các plugin để hành ngừng kích nó nhưng nó vẫn dính lỗi đó @@ chắc ko phải do xung đột plugin gây ra rồi !!

  3. Hân 6 comment

    Anh cho em hỏi là em đã làm như hướng dẫn nhưng sao em vẫn bị lỗi “To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host. vậy anh? 🙁

  4. dangkhoi86 3 comment

    Chào bạn, mình cài Sentora trên Centos 7, khi upload plugin hay image thì báo lỗi “Missing a temporary folder”, đã chỉnh trong php.ini, làm đủ kiểu vẫn bị lỗi, mong bạn giúp dùm

  5. Hiệp 1 comment

    Chào bạn, mình thấy bạn hướng dẫn rất nhiều bài hay về WP, nhưng thấy toàn bài viết, bạn có video nào hướng dẫn cụ thể không?

    1. Luân Trần Admin

      Video tốn nhiều thời gian nên mình chưa có làm được bạn ạ 🙂

  6. Quyền 26 comment

    Chào Luân,

    Mình đang chạy script hocvps trên Vps DO cho site wordpress. Khi upload ảnh cho bài viết (post) mới thì thấy nó hiện thị lỗi này:
    “home-coffee-roaster.jpg
    Unable to create directory uploads/2016/01. Is its parent directory writable by the server?”

    Mình đã thử CHMOD lại toàn bộ file uploads là 0755 rồi 0777, nhưng đều không fix được lỗi.

    Luân có cách nào giúp mình với.

    Chân thành cám ơn.

      1. Quyền 26 comment

        Luân ơi, mình chạy lệnh hocvps, rồi chọn chức năng số 14 – phân quyền server nhưng vẫn không fix được lỗi “Unable to create directory uploads/2016/01. Is its parent directory writable by the server?”. Vậy có cách nào khác không nhỉ?

        1. Luân Trần Admin

          Bạn tạo thủ công folder đó bằng sFTP rồi chạy lại chức năng phân quyền một phát nữa xem thế nào?

          1. Quyền 26 comment

            Mình đã fix được lỗi không up được ảnh trong wordpress. Nhưng lỗi không up được hình của mình không phải do phân quyền mà là do mình chưa cập nhật đường dẫn Media (Settings>>Media) khi chuyển host.

            Một số lưu ý cho các bạn chuyển host từ shared host qua VPS là sau khi restore database của website, các bạn nên vào phần Setting>Media> trỏ tới Uploading Files> Store uploads in this folder, xem lại đường dẫn hình ảnh tại mục này, cập nhật đường dẫn hiện tại là hết bị lỗi.

            Lúc đầu cứ nghĩ là do chưa phân quyền server hay Chmod, blah blah, nhưng cuối cùng là lỗi do mình chủ quan không xem lại đường dẫn Media trong WordPress trong khi script của Luân và VPS thực ra vẫn chạy rất ổn:)

    1. Luân Trần Admin

      Nếu dùng Nginx thì bạn không chọn được mod rewrite. Chọn cái này nhé: Use PHP to serve cache files. (Recommended)

  7. Thanh Nam 36 comment

    em cấu hình theo hocvps, khi cài plugin Protect WP Admin (dùng để dấu đường dẫn vào admin page) thì nhận được thông báo là file .htaccess không tồn tại hoặc không cho phép ghi vào (writeable).
    Em đã dùng Filezilla xem hidden file cũng ko thấy file này trong /home/domain.com/public_html
    Cho em cách fix với ạ.
    Em đã nghiêm cứa chmod 666 toàn thư mục public_html
    Khi dùng ssh: chmod 666 .htaccess thì nhận thông báo là chmod: cannot access `htaaccess’: No such file or directory

    ngoài lề chút, anh có thể dùng cách nào giấu wp-admin login page cho an toàn không ạ?

    1. Luân Trần Admin

      HocVPS Script sử dụng Nginx nên không dùng file .htaccess.
      Nếu muốn dấu link đăng nhập tốt nhất bạn nên sử dụng plugin iThemes Security, phần Hide Login Area ấy nhé

  8. thiet ke noi that chung cu 2 comment

    Cho mình hỏi, mình mới tạo 1 site mới bằng wordpress nhưng khi vào mục appe / theme thì không có chức năng để upload theme mới mà chỉ được chọn các theme có sẳn là sao vậy ?

    1. Luân Trần Admin

      Bạn sử dụng WordPress.com đúng không? Hoặc tài khoản của bạn không có quyền admin

  9. dao hung 18 comment

    Cách config của bác bị lỗ hổng bảo mật rất lớn, chỉ cần 1 site trên Server bị xâm nhập là các trang web khác cũng đi đứt theo ngay lập tức mà không cần thủ thuật gì nhiều, bác nên tìm hiểu về module mpm-itk mà hên tại hầu hết các Web server đều sử dụng, nó cho phép Apache chạy PHP của 1 Host dưới danh nghĩa của người được chỉ định, thông thường là chủ sở hữu thư mục của host đó. Trong Virtual Host config thêm vào dòng sau:

    AssignUserId vhost-user vhost-group

    thì tức thì trang web đó ở mỗi lần truy cập sẽ chạy dưới danh nghĩa của vhost-user và thuộc vhost-group. Đến đây các bác có thể

    chown -R vhost-user:vhost-group /var/www/
    và chmod -R 700 /var/www/

    Thế là khó mà local attack

    Thêm nữa, đôi khi lỗi là do không upload được file qua PHP (dù WordPress được code kỹ càng để xử lý vấn đề này), các bác thêm vào virtual host config dòng sau:

    php_value upload_tmp_dir /var/www//tmp
    php_value sys_temp_dir /var/www//tmp

    Sau đó tạo thêm thư mục tmp trong /var/www/ rồi chmod 700 là ok

    1. dao hung 18 comment

      sax, cái của e nó bị security nó cắn mất rồi, làm bài viết lở dở

  10. Thuyết 1 comment

    Mình đã thử thành công khi cài đặt Plugin mới, tuy nhiên khi update wordpress/plugin vẫn bị lỗi này mới khổ 🙁

  11. tuấn 8 comment

    Các bạn chỉ cần di chuyển đển folder chứa code (ví dụ /home/domain.com/public_html/) chạy lệnh sau là được:

    Không biết pase mấy cái code trên vô chỗ nào để chạy nữa 😐

  12. tuấn 8 comment

    Mình không biết chạy mấy cái lệnh đó chỗ nào nữa @@
    bạn luân help mình với 🙁
    skype mình: cchangkho
    Mò hồi sáng giờ bực điên người lắm rồi!

  13. tuấn 8 comment

    Mình mới chuyển về VPS của VDC…
    nhưng không cách nào cài được bất kỳ 1 blugin nào…
    Nó báo là cần kết nối đến host name….
    mình đả tạo acc FTP nhưng ko thể nào kết nối dc…
    không hiểu luôn…:(
    mong các bạn trợ giúp!

  14. Neo 34 comment

    Hi Luân,

    Mình chown cho apache thì php read/write đc nhưng lại không đăng nhập FTP được. Vậy phải làm sao để đăng nhập FTP lại được ?

  15. Đạt Nguyễn 1 comment

    Chào anh Luân!
    Anh cho em hỏi:
    Em đang dùng Centos 6.5, directadmin + apache 2 và có nhiều user/domains
    Giờ em muốn khi người dùng dùng account directadmin (ví dụ user1) để tạo 1 website thì chown của thư mục website đó vẫn là user1:user1 nhưng vẫn có thể upload theme, plugin,…. mà k cần thêm quyền ftp thì phải làm thế nào mong anh chỉ giúp?

  16. Neo 34 comment

    Hi Luân,
    Mình dùng với vps apache nhiều acc, khi chown apache cho folder của acc nào thì acc ftp của host đó không có quyền nữa, không đăng nhập vào FTP client đc, phải gán quyền lại cho user ftp thì mới vào ftp đc.
    Thử đi thử lại vẫn vậy, là do gì nhỉ?

  17. Plus 3 comment

    Còn lỗi này thì sao anh, hix! khi e add theme mới nó báo lỗi này khi active theme lên!

    “You do not have sufficient permissions to access this page”

  18. Hanh Hoang 8 comment

    Nguyên nhân xảy ra lỗi ở đây là do webserver (nginx hoặc apache) chưa được phân quyền đọc/ghi/xóa/sửa dữ liệu. Các bạn chỉ cần di chuyển đển folder chứa code (ví dụ /home/domain.com/public_html/) chạy lệnh sau là được:

    🙁 quan trọng là di chuyển đến đó như nào hả Luân, mình không biết về lệnh linux

  19. Nam D. 1 comment

    Hỏi ngoài lề một xí, mình mới chuyển nhà lên VPS của Digital Ocean, mọi thứ cũng tốt, nhưng không hiểu sao cái plugin Really Simple Captcha, nó không hiện được gì cả, thử lại trên local host của máy laptop thì vẫn chạy tốt, không biết Luân có kinh nghiệm trong vấn để này chưa?

    1. Luân Trần Admin

      Mình nghĩ VPS thiếu thư viện xử lý hình ảnh, bạn thử add thêm xem ntn: yum install php-gd
      Nếu ko đc thì xem chi tiết thông báo lỗi để xử lý

  20. Nguyễn Nam 7 comment

    Em là người mới nên không rõ đoạn “di chuyển đển folder chứa code” . Anh có thể nói rõ hơn chỗ này được không ạ?

  21. David 14 comment

    Bác ơi cho em lỗi này là lỗi gì, cách khắc phục ra sao khi mà em ko xóa được folder “wp-includes” và cũng ko nâng cấp được WordPress trong VPS

    Error: Unable to remove file //***/movies//var/www/vhosts/***//***/movies/wp-includes: filemng: Error occurred during /bin/rm command.

  22. Game thu dot kich 1 comment

    Híc, hôm nay cài xong con VPS rồi cấu hình luôn cái website zô, tới chỗ plugin để update thì gặp ngay lỗi này.. Cảm ơn bác Luân đã chia sẻ một bài viết cực kỳ bổ ích, em oánh dấu lại để lần sau còn nhớ mà cấu hình cho các website khác..

    Thanks!

  23. Quang Ideas 3 comment

    Theo chia sẻ của Luân, đã khắc phục được cái lỗi ko cho cài Plugin trực tiếp, tuy nhiên, t up bài, toàn bị báo lỗi không up đc ảnh kèo theo bài.
    Dù đã cấu hình cho phép ghi trong thư mục uploaads/2014/03 ,…

    1. Luân Trần Admin

      Có thể bạn cần cài thêm thư viện PHP GD:

      yum install gd gd-devel php-gd

      rồi khởi động lại server

      service httpd restart
  24. Thien 3 comment

    Mình làm thế vẫn dính 🙁

    đầu tiên để data trong mục /var/www/html/ thì thế kia ok , sau mình chuyển root data ra /home thì ko được , chuyển vào /home/zxxx cũng ko được nốt

    1. Luân Trần Admin

      Bạn để dữ liệu trong /var/www/html/ là chuẩn rồi mà, sao lại move ra ngoài làm gì. Nếu bạn move ra ngoài thì phải update lại file virtual host

      1. Thien 3 comment

        Thói quen , mình thường để root folder ở /home , đánh nhanh cd /home 🙂 . thì tất nhiên là mình phải thay đổi file virtual host rồi, ko thì làm sao chỉnh được

        1. Tit 5 comment

          mh cũng để ở home do cài virtualmin, nó để mặc định trong home, làm như Luân bị lỗi, k vào đc site luôn, b nào bít cách khắc phục k vậy

  25. vanqui 5 comment

    mình chạy ubuntu , mĩnh gõ chown -R apache:apache html_path sao nó không được ta, và mình chỉnh đường đẫn thì chỉnh chỗ nào vậy luân

    1. Luân Trần Admin

      Rất nhiều người gặp phải vấn đề đơn giản này mà loay hoay mãi không biết xử lý thế nào đó bạn 🙂

    2. Trần Thế 5 comment

      Bó tay thím, ý em là bài viết mang tính kỹ thuật cao, tức là liên quan đến câu lệnh sever. Chứ người dùng thường như em, thì đọc cũng chưa hiểu được hết. Từ từ khi có sever rồi trải nghiệm 🙂

      1. Duy Nguyen 2 comment

        Lỗi này thì có khi bạn chạy localhost cũng gặp. Chả cần đợi đền khi có server rồi mời trải nghiệm.

  26. thi bang lai xe may 2 comment

    khi mình up web lên host rồi cài mấy cài plugin, có cái cài được có cái không. Bạn hướng dẫn chi tiết đi có hỉnh ảnh nữa vào, vì mình không có chuyên môn công nghệ thông tin

    1. Luân Trần Admin

      Bạn cung cấp thêm cho mình thông báo lỗi nhé, lúc được lúc không này không phải do server rồi.