Nginx change /phpmyadmin directory

kdfy810k  于 2024-01-06  发布在  Nginx
关注(0)|答案(3)|浏览(189)

我试图让example.com/phpmyadmin路由到不同的目录从我的网站,所以我可以使用一个通用的phpmyadmin安装我的所有网站.我已经尝试过这个:

  1. server {
  2. listen 80;
  3. server_name example.com;
  4. location / {
  5. root /home/web/example.com/public_html;
  6. index index.html index.htm index.php;
  7. }
  8. location ~ \.php$ {
  9. root /home/web/example.com/public_html;
  10. if ($request_uri ~* /phpmyadmin) {
  11. root /home/web/phpmyadmin;
  12. }
  13. try_files $uri =404;
  14. fastcgi_pass unix:/tmp/php5-fpm.sock;
  15. fastcgi_index index.php;
  16. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  17. include fastcgi_params;
  18. }
  19. }

字符串
这好像根本不管用。
我也试过这个:

  1. server {
  2. listen 80;
  3. server_name example.com;
  4. location / {
  5. root /home/web/example.com/public_html;
  6. index index.html index.htm index.php;
  7. }
  8. location /phpmyadmin {
  9. root /home/web/phpmyadmin;
  10. index index.html index.htm index.php;
  11. }
  12. location ~ \.php$ {
  13. root /home/web/example.com/public_html;
  14. try_files $uri =404;
  15. fastcgi_pass unix:/tmp/php5-fpm.sock;
  16. fastcgi_index index.php;
  17. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  18. include fastcgi_params;
  19. }
  20. }


当我用这个文件检查我的错误日志时,我得到:

  1. 2013/06/28 01:10:47 [error] 7068#0: *1 "/home/web/phpmyadmin/phpmyadmin/index.html" is not found (2: No such file or directory)


所以在location块中,我将root改为/home/web,以为这会去掉额外的phpmyadmin,然而,相反,我在错误日志中没有得到任何关于phpmyadmin的信息。我似乎无法弄清楚正确的配置以及为什么这个不起作用。有什么想法吗?

n6lpvg4x

n6lpvg4x1#

在Ubuntu服务器上,我使用以下设置使phpMyAdmin在/pma下可用于几个Nginx站点。
/etc/phpmyadmin/nginx-php5-fpm.conf

  1. location /pma {
  2. alias /usr/share/phpmyadmin/;
  3. }
  4. location ~ ^/pma/(.*\.(js|css|gif|jpg|png))$ {
  5. alias /usr/share/phpmyadmin/$1;
  6. }
  7. location ~ ^/pma(.+\.php)$ {
  8. alias /usr/share/phpmyadmin$1;
  9. fastcgi_pass unix:/var/run/php-fpm.sock;
  10. fastcgi_index index.php;
  11. charset utf8;
  12. include fastcgi_params;
  13. fastcgi_param DOCUMENT_ROOT /usr/share/phpmyadmin;
  14. }

字符串
然后在任何/etc/nginx/sites-available/*中,我可以通过这行启用pma支持:

  1. include /etc/phpmyadmin/nginx-php5-fpm.conf;

展开查看全部
rbpvctlc

rbpvctlc2#

我认为第二个配置中的问题是/phpmyadmin中的index将其替换为index index.php
这是我的服务器的phpmyadmin,但它被配置为子域。

  1. server {
  2. client_header_timeout 0;
  3. server_name phpmyadmin.example.com;
  4. root /var/www/phpmyadmin/;
  5. #replace this with your phpmyadmin location
  6. #like /usr/share/phpmyadmin for example
  7. index index.php;
  8. access_log /var/log/nginx/phpmyadmin_access_log;
  9. error_log /var/log/nginx/phpmyadmin_error_log;
  10. location ~* \.php$ {
  11. try_files $uri =404;
  12. fastcgi_index index.php;
  13. fastcgi_pass unix:/var/run/php5-fpm.sock;
  14. include fastcgi_params;
  15. client_max_body_size 64m;
  16. client_body_buffer_size 128k;
  17. }
  18. location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
  19. access_log off;
  20. log_not_found off;
  21. expires 360d;
  22. }
  23. location ~ /\. {
  24. access_log off;
  25. log_not_found off;
  26. deny all;
  27. }
  28. }

字符串
这三个设置用于导出和导入大文件,当导出的文件大于一定数量时,或者如果服务器需要时间来生成导出的SQL文件,nginx将失败。

  1. client_header_timeout 0;
  2. client_max_body_size 64m; #change this if ur export is bigger than 64mb.
  3. client_body_buffer_size 128k;

展开查看全部
3hvapo4f

3hvapo4f3#

我在Fedora 39上

  1. chown -R apache:apache /var/lib/phpmyadmin
  2. chmod 771 /var/lib/phpmyadmin
  3. chcon -R -t httpd_sys_rw_content_t /var/lib/phpmyadmin
  4. semanage fcontext -a -t httpd_sys_rw_content_t "/usr/share/phpmyadmin/temp(/.*)?"

字符串
如果您强制执行了selinux
这对所有在当地开发的开发人员来说都是无痛的!保持安全,记住永远不要给予写作权,这是最好的方法,让你最终在某个地方的街头流浪汉生活!

相关问题