I just followed the instuctions found on :
https://certbot.eff.org/#debianjessie-apache
to install let's encrypt certificate on my linux vps.
but unfortunately, installation did not went as I expected because :
A. I already had an instance of apache2 installed - which conflicted
with apache instance certbot installer installs.
B. I have a dynamic dns I want to have as my domain name and add ssl
for, but let's encrypt system seems to have problem with free dns
providers.
so I finally decided to removed certbot and instead try to install local ssl certificate I sign my self personally. I can't find direct un-installation guide for certbot. can you please help ?
Thank You
Alright, I think I found out how to do it :
first I removed certbot using these commands :
sudo apt-get purge certbotapt
sudo apt-get purge python-certbot-apache -t jessie-backports
sudo apt-get purge apache2
then I manually removed files/folders in following :
/myuser/certbot-auto
/myuser/.local/share/letsencrypt/
/etc/letsencrypt/
/var/lib/letsencrypt/
/var/log/letsencrypt/
then I installed a new fresh instance of apache2 :
sudo apt-get install apache2
sudo service apache2 restart
Now things are back to where I was, and I can work on installing personal/local ssl for my project.
Hope this help you too ;)
If you would like to remove its ppa as well then:
sudo add-apt-repository --remove ppa:certbot/certbot
Related
I had apache2 installed on my raspberry pi 4 and was getting some strange behavior so I removed it via apt remove apache2, removed the /etc/apache2 directory and reinstalled by sudo apt-get apache2 -y.
After reinstallation the server would not start, I determine that there was no apache2.conf file in /etc/apache2.
I've tried installing and reinstalling several time to no avail. What am I doing wrong?
try
sudo apt-get purge apache2
If you just want a light-weight http server you might want to try Nginx as a replacement.
sudo apt-get --reinstall install apache2
I am deploying Flask application in Apache2 server during this i need to run a command for enabling mod_wsgi by using:
sudo a2enmod wsgi
but its showing:
sudo: a2enmod: command not found
please help
thanks
I had the same problem with using Ubuntu 16.04 in AWS. However, installing apache2 along with libapache2-mod-wsgi and python-dev solved the issue.
Try:
sudo apt-get update
sudo apt-get install apache2 libapache2-mod-wsgi python-dev
Then,
sudo a2enmod wsgi
I share this tips because it append to me :
If you enter into the root account with su, the /usr/sbin folder is not in the path and the a2enmod command is not found...
So you have to use su - instead ;)
This can happen if you switch to root user as su root instead of su - on Debian Buster
Installation debugging
For asking about installation debugging, you have to post (and think) about
Architecture (hardware)
OS with version
Host attibution (server, desktop, other)
Procedure followed for installation
Software (apache) version
Anyway
You could try to reinstall your package. If under Ubuntu, you could try:
sudo apt update &&
sudo apt reinstall apache2 libapache2-mod-wsgi
Then rerun:
sudo a2enmod wsgi
I am attempting to install both RStudio and phpmyadmin on an ubuntu server from AWS.
I have spun up a AWS server using RStudio AMI which works successfully (http://www.louisaslett.com/RStudio_AMI/)
I am now attempting to install phpmyadmin on the server.
I have followed the normal steps to do so (installing each individually):
sudo apt-get install apache2 libapache2-mod-php5 php5 mysql-server php5-mysql
mysql_secure_installation
apt-get -y install phpmyadmin
This has installed phpmyadmin correctly. However, whenever I attempt to access the following link:
http://52.56.56.80/phpmyadmin I get the following error:
/phpmyadmin not found
I have included the line: "Include /etc/phpmyadmin/apache.conf" in /etc/apache2/apache2.conf as advised in other issues, however this does not fix the issue.
What do I need to do to be able to access phpmyadmin on my browser?
sudo gedit /etc/apache2/apache2.conf
add "Include /etc/phpmyadmin/apache.conf"
sudo /etc/init.d/apache2 restart
i installed letsencrypt on my ubuntu 16.04 machine with following command.
sudo apt-get install letsencrypt
Now, i want to define a cronjob to automatically renew my certs with following line.
certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"
But i always get the error, that the command certbot could not be found.
If i use letsencrypt instead of certbot everything works fine as long as i dont use the --pre-hook and --post-hook.
How to install certbotor is there an alternative command for letsencrypt to define such hooks?
Thanks
For me the following commands working fine.
Install snap
sudo apt update
sudo apt install snapd
Install Core
sudo snap install core
Install Certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Renew Certbot
sudo certbot renew --dry-run
Follow the official instructions and install certbot with
sudo apt install certbot python3-certbot-nginx
or, in newer Ubuntus that have snap, with
sudo snap install --classic certbot
It will be available in $PATH after that.
Ok i found the solution..
git clone git#github.com:certbot/certbot.git
cd certbot
./certbot-auto renew --pre-hook "service nginx stop" --post-hook "service nginx start"
This worked for me. I have to specify full path when running certbot with elevated privileges
sudo /snap/bin/certbot renew --dry-run
TL;DR
Although I have /snap/bin in my $PATH
echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/games:/snap/bin
But without providing full path it does not work with sudo. It throws the following error
certbot renew --dry-run
The following error was encountered:
[Errno 13] Permission denied: '/var/log/letsencrypt/.certbot.lock'
Either run as root, or set --config-dir, --work-dir, and --logs-dir to writeable paths.
and it also works if I (while having /snap/bin in root's $PATH as well) switch to power user
sudo -i
and then run any certbot command
Kindly note I'm on debian 10 and using snapd as package manager according to the tutorial https://certbot.eff.org/lets-encrypt/snap-nginx.
As explained here https://unix.stackexchange.com/questions/245772/why-running-command-as-sudo-returns-command-not-found this is kinda expected and approved of behaviour:
sudo tries to be safe when executing external commands. the usual
workaround is to specify the complete pathname of the program. It's
also more secure; it you don't specify the path, it's conceivable that
an attacker could create another program that will be run with root
permissions.
Going on reading further I can see that my PATHs are different
env | grep ^PATH
sudo env | grep ^PATH
There are several solutions (use custom sudo or change sudo $PATH) provided at the thread Command not found when using sudo so one does not have to specify full path.
try to remove using snap
sudo snap remove certbot
and then install again with
sudo snap install --classic certbot
You can try Let's Certbot.
Let's Certbot is a tool builds automated scripts base on Certbot for obtaining, renewing, deploying SSL certificates.
It supports docker and non-docker environments.
GitHub: https://github.com/jinhucheung/letscertbot
try this
sudo ~/.certbot/bin/certbot certonly --webroot
I did sudo yum groupinstall -y "Web Server" "PHP Support", on my ec2 instance. Now I want to install apache tomcat. Do I need to uninstall httd that was installed as a part of yum groupinstall -y "Web Server" ? If yes, why ?
Although I never done it myself: no you don't have to uninstall httpd. I've seen them running next to eachother in the past. You do need to change the configuration of course since both can't listen to default port 80. :)