1

I freshly installed an Ubuntu server 16.04 with LEMP and wordpress. But it seems that I have missed a step in the process, as I have the following error on the websites.

http error: curl error 7: failed to connect to wordpress.org port 80.

The sites is working fine beside that it is configure in a virtual machine as I'm developing a website, first on my local machine to test everything in local.

Here is my config file:

server {
        listen 80;
        server_name 192.168.1.3; #ipaddress;
        root /usr/share/nginx/mrupgrade.be/;
        index index.php index.html index.htm;

        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;

        location = /50x.html    {
                root /usr/share/nginx/html;
        }
        location / {
                try_files $uri $uri/ /index.php;
        }

        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;

        location ~ \.php$ {
                try_files $uri = 404;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                root /usr/share/nginx/mrupgrade.be/;
                }
        }

Note that I have configured the firewall with those rules:

Thanks in advance for your help.

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:http
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED

wp-config.php

<?php
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the
 * installation. You don't have to use the web site, you can
 * copy this file to "wp-config.php" and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * MySQL settings
 * * Secret keys
 * * Database table prefix
 * * ABSPATH
 *
 * @link https://codex.wordpress.org/Editing_wp-config.php
 *
 * @package WordPress
 */

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'mysite_wp_db');

/** MySQL database username */
define('DB_USER', 'mysite_user');

/** MySQL database password */
define('DB_PASSWORD', 'mysite');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

/**#@-*/

/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix  = 'wp_';

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the Codex.
 *
 * @link https://codex.wordpress.org/Debugging_in_WordPress
 */
define('WP_DEBUG', false);

/* That's all, stop editing! Happy blogging. */

/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

/var/www/mrupgrade.be/public_html the site location that's nginx site config

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "msie6";

    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

My /etc/nginx/nginx.conf

#mail {
#   # See sample authentication script at:
#   # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
# 
#   # auth_http localhost/auth.php;
#   # pop3_capabilities "TOP" "USER";
#   # imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
#   server {
#       listen     localhost:110;
#       protocol   pop3;
#       proxy      on;
#   }
# 
#   server {
#       listen     localhost:143;
#       protocol   imap;
#       proxy      on;
#   }
#}

So in image everything is fine expect some stuff maybe a lib is missing or I don't know I installed fpm fast cgi.

The wordpress Can't connect to the web eith http request.

RSS flux error

I don't really know what it could be any clue would be welcome.

Thanks in advance for your help.

4
  • 2
    Why do you think connecting to wordpress.org will go to your local server? Oh, I see - that's not a curl command error, but a PHP error shown on your webpages.
    – muru
    Dec 28, 2016 at 14:45
  • 2
    Please edit your post to include your (suitably redacted) wp-config.php
    – muru
    Dec 28, 2016 at 14:47
  • The screenshot explains it better - your iptables rules only allow outgoing traffic for connections initiated from outside. So requests from the server to Wordpress.org would be blocked.
    – muru
    Dec 28, 2016 at 15:35
  • Ok thanks I would change the rules now and see if it works.
    – user630360
    Dec 28, 2016 at 15:37

3 Answers 3

0

Are your server called wordpress.org ?

According to your config file it's:

server_name 192.168.1.3; #ipaddress;

If you want to use a servername locally, you would have to enter ip-address and name into /etc/hosts, and if it must be accessible externally, you must have a hostname and dns-entry by your ISP. And you must set the appopriate port-forwarding in your router.

0

If curl is the problem, I would first try to run it from the console to check if is a network related issue (firewall, etc.)

It seems that if you have SELINUX enabled this could cause the webserver to prevent the requests. As seen here https://wordpress.org/support/topic/error-curl-error-7-3/

If curl works from the console and you don't have SELINUX enabled, I would than test a small php script to verify that curl is working, and for which hosts to better debug this.

Cheers

0

Check for SELinux. It turned itself back on and was interfering with CURL.

To disable the SELinux temporarily until the Linux box is rebooted, execute setenforce 0.

0

You must log in to answer this question.