Updating to Ubuntu 14 problems

March 26, 2015 3.2k views
Apache

I've just updated from Ubuntu12 to Ubuntu14 and my site is now gone. Just the Apache2 Ubuntu Default page loads.

Any help would be greatly appreciated.

I'm a novice. I've posted several tickets with DO but their help has not been very helpful.

Thank you!
Matt

9 comments
  • one thing that could be causing your problem is that the version of apache in 12.04 did not have a file extension on your site configs.

    Go into /etc/apache2/sites-available and put the .conf extension on your site conf files.

    Then, go into /etc/apache2/sites-enabled and (after noting the names of those file(s))...delete those files (they are just shortcuts to your site conf files in the "available" folder.

    Then, re-enable your sites either through apache. like:

    sudo a2ensite yoursitename

    or, just recreate the shortcut with

    sudo ln -s /etc/apache2/sites-available/yoursite.conf /etc/apache2/sites-enabled

    restart apache...

    sudo service apache2 restart

    and that should do it...in theory

  • Thank so much for your help!

    I understand basically what to do. One question, I'm using Nano to edit my files and I can't quite figure how to add an extension to the file...?

    Thank you!

  • Hmm...you might want to open another terminal and open a new file, like:

    sudo nano /etc/apache2/sites-available/yourdomain.com.conf

    which will create that new file, then you can just copy and paste your other files contents there.

    ..or, it looks like when you save (Ctrl X) that it asks where you want to save it as, and you can just put a different name

  • As @sierracircle mentioned, there are some differences between the versions of Apache in each release. Ubuntu 12.04 provides Apache 2.2 while Ubuntu 14.04 provides Apache 2.4. Check out the Apache documentation for a guide to upgrading to 2.4 from 2.2.

    As for renaming files, you can use the mv command to "move" it to the new name:

    sudo mv /etc/apache2/sites-available/yourdomain.com /etc/apache2/sites-available/yourdomain.com.conf
    
  • Thanks for your help. Do you think that renaming the file is all that I need to do? I'm concerned about trying things and then making my problems worse.

    Here is my error log.

    root@class:~# tail -n20 /var/log/apache2/error.log

    DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins!
    Support for these plugins will be removed in Rails 4.0. Move them out and
    bundle them in your Gemfile, or fold them in to your app as lib/myplugin/*
    and config/initializers/myplugin.rb. See the release notes for more on
    this:
    http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released.
    (called from at /var/canvas/config/environment.rb:23)

    [Thu Mar 26 07:08:28 2015] [notice] caught SIGTERM, shutting down

    [Thu Mar 26 07:08:30 2015] [notice] Apache/2.2.22 (Ubuntu)
    PhusionPassenger/3.0.21 modssl/2.2.22 OpenSSL/1.0.1 configured --
    resuming normal operations

    /var/canvas/vendor/bundle/ruby/1.9.1/gems/polyglot-0.3.5/lib/polyglot.rb:65:in
    `require': iconv will be deprecated in the future, use String#encode
    instead.

    DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins!
    Support for these plugins will be removed in Rails 4.0. Move them out and
    bundle them in your Gemfile, or fold them in to your app as lib/myplugin/*
    and config/initializers/myplugin.rb. See the release notes for more on
    this:
    http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released.
    (called from at /var/canvas/config/environment.rb:23)

    [Thu Mar 26 10:13:16 2015] [notice] caught SIGTERM, shutting down

    [Thu Mar 26 10:13:17 2015] [notice] Apache/2.2.22 (Ubuntu)
    PhusionPassenger/3.0.21 modssl/2.2.22 OpenSSL/1.0.1 configured --
    resuming normal operations

    [Thu Mar 26 10:15:22 2015] [notice] caught SIGTERM, shutting down

    [Thu Mar 26 10:45:13.828072 2015] [mpm_worker:notice] [pid 6135:tid
    140491158255488] AH00292: Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f configured
    -- resuming normal operations

    [Thu Mar 26 10:45:13.828521 2015] [core:notice] [pid 6135:tid
    140491158255488] AH00094: Command line: '/usr/sbin/apache2'

    [Thu Mar 26 10:50:41.745190 2015] [mpm_worker:notice] [pid 6135:tid
    140491158255488] AH00295: caught SIGTERM, shutting down

    [Thu Mar 26 10:51:25.163669 2015] [mpm_worker:notice] [pid 1227:tid
    140344400545664] AH00292: Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f configured
    -- resuming normal operations

    [Thu Mar 26 10:51:25.167422 2015] [core:notice] [pid 1227:tid
    140344400545664] AH00094: Command line: '/usr/sbin/apache2'

    [Thu Mar 26 10:53:47.687238 2015] [mpm_worker:notice] [pid 1227:tid
    140344400545664] AH00295: caught SIGTERM, shutting down

    [Thu Mar 26 10:53:48.838965 2015] [mpm_worker:notice] [pid 1486:tid
    140460895844224] AH00292: Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f configured
    -- resuming normal operations

    [Thu Mar 26 10:53:48.839301 2015] [core:notice] [pid 1486:tid
    140460895844224] AH00094: Command line: '/usr/sbin/apache2'

    [Thu Mar 26 11:18:53.417620 2015] [mpm_worker:notice] [pid 1486:tid
    140460895844224] AH00295: caught SIGTERM, shutting down

    [Thu Mar 26 11:18:54.628985 2015] [mpm_worker:notice] [pid 1793:tid
    139756989884288] AH00292: Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f configured
    -- resuming normal operations

    [Thu Mar 26 11:18:54.629684 2015] [core:notice] [pid 1793:tid
    139756989884288] AH00094: Command line: '/usr/sbin/apache2'

    [Thu Mar 26 19:04:37.075398 2015] [core:error] [pid 1797:tid
    139756625131264] [client 198.20.69.98:59382] AH00135: Invalid method in
    request quit

    root@class:~#

  • Also these are the configuration files I have in sites-enabled

    <VirtualHost *:80>
    ServerName canvas.learningtapestry.com
    #ServerAlias files.canvas.learningtapestry.com
    ServerAdmin canvas@learningtapestry.com
    DocumentRoot /var/canvas/public
    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !=https
    RewriteCond %{REQUESTURI} !^/healthcheck
    RewriteRule (.*) https://%{HTTPHOST}%{REQUESTURI} [L]

    ErrorLog /var/log/apache2/canvaserrors.log
    LogLevel warn
    CustomLog /var/log/apache2/canvas
    access.log combined
    SetEnv RAILSENV production
    <Directory /var/canvas/public>
    Allow from all
    Options -MultiViews
    </Directory>
    </VirtualHost>
    <VirtualHost *:443>
    ServerName canvas.learningtapestry.com
    #ServerAlias files.canvas.example.com
    ServerAdmin canvas@learningtapestry.com
    DocumentRoot /var/canvas/public
    ErrorLog /var/log/apache2/canvas
    errors.log
    LogLevel warn
    CustomLog /var/log/apache2/canvassslaccess.log combined
    SSLEngine on
    BrowserMatch "MSIE [2-6]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
    # the following ssl certificate files are generated for you from the ssl-cert package.
    SSLCertificateFile /etc/apache2/ssl-certs/class.yciw.net.crt
    SSLCertificateKeyFile /etc/apache2/ssl-certs/class.yciw.net.key
    SSLCACertificateFile /etc/apache2/ssl-certs/intermediate.crt
    SetEnv RAILS_ENV production
    <Directory /var/canvas/public>
    Allow from all
    Options -MultiViews
    </Directory>
    </VirtualHost>
    <VirtualHost *:80>
    ServerName class.yciw.net
    Redirect permanent / https://class.yciw.net/
    </VirtualHost>

    <IfModule mod_ssl.c>
    <VirtualHost _default_:443>
    ServerAdmin matt@yciw.net
    ServerName class.yciw.net
    ServerAlias www.yciw.net
    DocumentRoot /var/www/html
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    </Directory>
    <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    
    CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
    
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
    
    #   SSL Engine Switch:
    #   Enable/Disable SSL for this virtual host.
    SSLEngine on
    
    #   A self-signed (snakeoil) certificate can be created by installing
    #   the ssl-cert package. See
    #   /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
    #   If both key and certificate are stored in the same file, only the
    #   SSLCertificateFile directive is needed.
    SSLCertificateFile    /etc/apache2/ssl-certs/class.yciw.net.crt
    SSLCertificateKeyFile /etc/apache2/ssl-certs/class.yciw.net.key
        SSLCACertificateFile  /etc/apache2/ssl-certs/intermediate.crt
    
    #   Server Certificate Chain:
    #   Point SSLCertificateChainFile at a file containing the
    #   concatenation of PEM encoded CA certificates which form the
    #   certificate chain for the server certificate. Alternatively
    #   the referenced file can be the same as SSLCertificateFile
    #   when the CA certificates are directly appended to the server
    #   certificate for convinience.
    #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt
    
    #   Certificate Authority (CA):
    #   Set the CA certificate verification path where to find CA
    #   certificates for client authentication or alternatively one
    #   huge file containing all of them (file must be PEM encoded)
    #   Note: Inside SSLCACertificatePath you need hash symlinks
    #         to point to the certificate files. Use the provided
    #         Makefile to update the hash symlinks after changes.
    #SSLCACertificatePath /etc/ssl/certs/
    #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt
    
    #   Certificate Revocation Lists (CRL):
    #   Set the CA revocation path where to find CA CRLs for client
    #   authentication or alternatively one huge file containing all
    #   of them (file must be PEM encoded)
    #   Note: Inside SSLCARevocationPath you need hash symlinks
    #         to point to the certificate files. Use the provided
    #         Makefile to update the hash symlinks after changes.
    #SSLCARevocationPath /etc/apache2/ssl.crl/
    #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl
    
    #   Client Authentication (Type):
    #   Client certificate verification type and depth.  Types are
    #   none, optional, require and optional_no_ca.  Depth is a
    #   number which specifies how deeply to verify the certificate
    #   issuer chain before deciding the certificate is not valid.
    #SSLVerifyClient require
    #SSLVerifyDepth  10
    
    #   Access Control:
    #   With SSLRequire you can do per-directory access control based
    #   on arbitrary complex boolean expressions containing server
    #   variable checks and other lookup directives.  The syntax is a
    #   mixture between C and Perl.  See the mod_ssl documentation
    #   for more details.
    #<Location />
    #SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
    #            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
    #            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
    #            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
    #            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
    #           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
    #</Location>
    
    #   SSL Engine Options:
    #   Set various options for the SSL engine.
    #   o FakeBasicAuth:
    #     Translate the client X.509 into a Basic Authorisation.  This means that
    #     the standard Auth/DBMAuth methods can be used for access control.  The
    #     user name is the `one line' version of the client's X.509 certificate.
    #     Note that no password is obtained from the user. Every entry in the user
    #     file needs this password: `xxj31ZMTZzkVA'.
    #   o ExportCertData:
    #     This exports two additional environment variables: SSL_CLIENT_CERT and
    #     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
    #     server (always existing) and the client (only existing when client
    #     authentication is used). This can be used to import the certificates
    #     into CGI scripts.
    #   o StdEnvVars:
    #     This exports the standard SSL/TLS related `SSL_*' environment variables.
    #     Per default this exportation is switched off for performance reasons,
    #     because the extraction step is an expensive operation and is usually
    #     useless for serving static content. So one usually enables the
    #     exportation for CGI and SSI requests only.
    #   o StrictRequire:
    #     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
    #     under a "Satisfy any" situation, i.e. when it applies access is denied
    #     and no other module can change it.
    #   o OptRenegotiate:
    #     This enables optimized SSL connection renegotiation handling when SSL
    #     directives are used in per-directory context.
    #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
        SSLOptions +StdEnvVars
    </Directory>
    
    #   SSL Protocol Adjustments:
    #   The safe and default but still SSL/TLS standard compliant shutdown
    #   approach is that mod_ssl sends the close notify alert but doesn't wait for
    #   the close notify alert from client. When you need a different shutdown
    #   approach you can use one of the following variables:
    #   o ssl-unclean-shutdown:
    #     This forces an unclean shutdown when the connection is closed, i.e. no
    #     SSL close notify alert is send or allowed to received.  This violates
    #     the SSL/TLS standard but is needed for some brain-dead browsers. Use
    #     this when you receive I/O errors because of the standard approach where
    #     mod_ssl sends the close notify alert.
    #   o ssl-accurate-shutdown:
    #     This forces an accurate shutdown when the connection is closed, i.e. a
    #     SSL close notify alert is send and mod_ssl waits for the close notify
    #     alert of the client. This is 100% SSL/TLS standard compliant, but in
    #     practice often causes hanging connections with brain-dead browsers. Use
    #     this only for browsers where you know that their SSL implementation
    #     works correctly.
    #   Notice: Most problems of broken clients are also related to the HTTP
    #   keep-alive facility, so you usually additionally want to disable
    #   keep-alive for those clients, too. Use variable "nokeepalive" for this.
    #   Similarly, one has to force some clients to use HTTP/1.0 to workaround
    #   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
    #   "force-response-1.0" for this.
    BrowserMatch "MSIE [2-6]" \
        nokeepalive ssl-unclean-shutdown \
        downgrade-1.0 force-response-1.0
    # MSIE 7 and newer should be able to use keepalive
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
    

    </VirtualHost>

  • I tried doing this and it did not work:

    Go into /etc/apache2/sites-available and put the .conf extension on your site conf files.

    Then, go into /etc/apache2/sites-enabled and (after noting the names of those file(s))...delete those files (they are just shortcuts to your site conf files in the "available" folder.

    Then, re-enable your sites either through apache. like:

    sudo a2ensite yoursitename

    or, just recreate the shortcut with

    sudo ln -s /etc/apache2/sites-available/yoursite.conf /etc/apache2/sites-enabled

    restart apache...

    sudo service apache2 restart

  • Can someone recommend a developer for hire that can help me solve this problem?

  • If you still need it, you can send me an email: adam@sierracircle.org

    Although I am not a Ruby Person, and it looks like you have some ruby issues. But one of the sites looks like it is loading:

    canvas.learningtapestry.com

    but the other is not:
    https://class.yciw.net/

    I can probably help you get that sorted out at least.

Be the first one to answer this question.