Skip to content

The Dummy Programmer

Stories of daily programming

  • Home
  • My other dummy projects
  • Games
    • Space Y: An Asteroids clone
  • Services
    • What’s my user agent
    • What’s my IP address
  • About
  • Toggle search form

Self signed certificate with Apache/Ubuntu

Posted on October 5, 2018 By

Have you ever need to install a self signed certificate with Apache on Ubuntu? I need that in my development machine and now I’m going to show you what I did.

First of all, log in into your Linux Ubuntu machine and activate the SSL support using the following command:

sudo a2enmod ssl

Now you have to create the certificate and the certificate key. Follow these instructions:

sudo mkdir /etc/apache2/sslfolder
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/sslfolder/mycert.key -out /etc/apache2/sslfolder/mycert.crt

After executing the commands above, you will be asked to answer to some questions. Give your answers and go on…

Now edit the file /etc/apache2/sites-available:

sudo gedit /etc/apache2/sites-available

and edit the the “VirtualHost” section of your website as follow:

<VirtualHost *:443>
   ServerName yourwebsite.com
   DocumentRoot "/var/www/yourwebsite"
   SSLEngine on
   SSLCertificateFile /etc/apache2/sslfolder/mycert.crt
   SSLCertificateKeyFile /etc/apache2/sslfolder/mycert.key
</VirtualHost>

I also suggest  to you to modify the file /etc/apache2/ports.conf

sudo gedit /etc/apache2/ports.conf

adding the following rows, if they are not already present

<IfModule mod_ssl.c>
   NameVirtualHost *:443
   Listen 443
</IfModule>

<IfModule mod_gnutls.c>
   Listen 443
</IfModule>

This will allow Apache to serve more virtualhost with different ServerName on the same IP address on port 443.

Otherwise you would get the message “Virtual hosts overlap on 443, the first has precedence”.

Regards by TheDummyProgrammer!

 

 

 

 

Apache, SSL, Ubuntu

Post navigation

Previous Post: Redirect to HTTPS using Apache .htaccess file
Next Post: Sql Server error using a database with a CLR assembly

Related Posts

Redirect to HTTPS using Apache .htaccess file Apache
Become your own certification authority – Part 1 SSL
Become your own certification authority – Part 2 SSL
Run an old Apache ASP web application in Ubuntu 20.04 Ubuntu
Run an Apache website under SSL Apache
Install LAMP in Ubuntu Server LAMP

Search

Related posts

  • Run an old Apache ASP web application in Ubuntu 20.04
  • Add a new website to an Apache installation
  • Run an Apache website under SSL
  • Redirect to HTTPS using Apache .htaccess file

Categories

  • .NET 6 (1)
  • .NET 7 (1)
  • AJAX (1)
  • Android (2)
  • Apache (4)
  • ASP.NET (9)
  • ASP.NET MVC (3)
  • Avalonia UI (1)
  • BCP (1)
  • Bitlocker (2)
  • C# (14)
  • CentOS (4)
  • ClosedXML (1)
  • CLR (1)
  • DNS (1)
  • Encryption (3)
  • Excel (2)
  • FuelPHP (3)
  • Games (2)
  • Google Chrome (1)
  • GSuite (1)
  • HTML (1)
  • Imagick (2)
  • Javascript (1)
  • Kindle (1)
  • LAMP (3)
  • Linux (7)
  • MariaDB (2)
  • Mathematics (2)
  • MySql (4)
  • NPOI (1)
  • Office 365 (1)
  • Perl (1)
  • PHP (6)
  • Programming (1)
  • Remote desktop (1)
  • SFTP (2)
  • Sockets (3)
  • Sql Server (20)
  • Sql Server 2016 (14)
  • Sql Server 2019 (1)
  • SSL (4)
  • Task scheduler (1)
  • Telerik ASP.NET AJAX (2)
  • The Dummy Programmer Chat (2)
  • Threading (5)
  • Tools (1)
  • TPL (3)
  • TypeScript (3)
  • Ubuntu (4)
  • Virtualization software (3)
  • Visual Studio (1)
  • Visual Studio Code (2)
  • VueJS (1)
  • Web fonts (1)
  • Web programming (6)
  • Windows (12)
  • Windows 10 (15)
  • Windows Forms (1)
  • Windows Server (6)

Copyright © 2024 The Dummy Programmer | Privacy Policy | Terms of use |

Powered by PressBook Masonry Dark

Manage Cookie Consent
This site doesn’t collect user personal data and doesn’t install profiling or analytical cookies, either its own or from third parties. Read our privacy policy for more info.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
View preferences
{title} {title} {title}