-1

I have installed centos 7 via vagrant file. I have installed nexus on the centos VM. The service is running in centos, but nexus welcome page is not opening in browser. Kindly help.

My vagrant file is as follows:

Vagrant.configure("2") do |config|

#config.hostmanager.enabled=true #config.hostmanager.manage_host=true

#config.vm.box = "generic/centos7"

nexus 3 VM config.vm.define "nexus3" do |nexus3| nexus3.vm.box = "generic/centos7" nexus3.vm.hostname = "nexus3" nexus3.vm.network "private_network", ip: "192.168.33.20"

nexus3.vm.provider "virtualbox" do |vb| vb.memory = "1024" #end end

config.vm.box_check_update = false

config.vm.network "forwarded_port", guest: 80, host: 8080 Create a forwarded port mapping which allows access to a specific port within the machine from a port on the host machine and only allow access via 127.0.0.1 to disable public access #config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

Create a private network, which allows host-only access to the machine using a specific IP. config.vm.network "private_network", ip: "192.168.33.10" Create a public network, which generally matched to bridged network. Bridged networks make the machine appear as another physical device on your network. config.vm.network "public_network" Share an additional folder to the guest VM. The first argument is the path on the host to the actual folder. The second argument is the path on the guest to mount the folder. And the optional third argument is a set of non-required options. config.vm.synced_folder "../data", "/vagrant_data" Disable the default share of the current code directory. Doing this provides improved isolation between the vagrant box and your host by making sure your Vagrantfile isn't accessable to the vagrant box. If you use this you may want to enable additional shared subfolders as shown above. config.vm.synced_folder ".", "/vagrant", disabled: true Provider-specific configuration so you can fine-tune various backing providers for Vagrant. These expose provider-specific options. Example for VirtualBox: config.vm.provider "virtualbox" do |vb|

Display the VirtualBox GUI when booting the machine

vb.gui = true

Customize the amount of memory on the VM:

vb.memory = "1024" end View the documentation for the provider you are using for more information on available options. Enable provisioning with a shell script. Additional provisioners such as Ansible, Chef, Docker, Puppet and Salt are also available. Please see the documentation for more information about their specific syntax and use. config.vm.provision "shell", inline: <<-SHELL apt-get update apt-get install -y apache2 SHELL end

The script I used to install nexus is as follows:

#!/bin/bash yum install java-1.8.0-openjdk.x86_64 wget -y mkdir -p /opt/nexus/ mkdir -p /tmp/nexus/ cd /tmp/nexus/ NEXUSURL="https://download.sonatype.com/nexus/3/latest-unix.tar.gz" wget $NEXUSURL -O nexus.tar.gz sleep 10 EXTOUT=tar xzvf nexus.tar.gz NEXUSDIR=echo $EXTOUT | cut -d '/' -f1 sleep 5 rm -rf /tmp/nexus/nexus.tar.gz cp -r /tmp/nexus/* /opt/nexus/ sleep 5 useradd nexus chown -R nexus.nexus /opt/nexus cat <> /etc/systemd/system/nexus.service [Unit] Description=nexus service After=network.target

[Service] Type=forking LimitNOFILE=65536 ExecStart=/opt/nexus/$NEXUSDIR/bin/nexus start ExecStop=/opt/nexus/$NEXUSDIR/bin/nexus stop User=nexus Restart=on-abort

[Install] WantedBy=multi-user.target

EOT

echo 'run_as_user="nexus"' > /opt/nexus/$NEXUSDIR/bin/nexus.rc systemctl daemon-reload systemctl start nexus systemctl enable nexus

Once the installation is done my service is running:

● nexus.service - nexus service Loaded: loaded (/etc/systemd/system/nexus.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2024-05-16 11:05:44 UTC; 57s ago Main PID: 3550 (java) CGroup: /system.slice/nexus.service └─3550 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jre/...

However when I type 192.168.33.20:8081 or 192.168.33.20:8080 I get "This site can’t be reached" error. Where am I going wrong?

Please help.

1 Answer 1

1

It seems that the issue was related to iptables blocking traffic on port 8081. By flushing all existing iptables rules and setting the default policy to ACCEPT for all chains, the firewall restrictions were lifted and allowed traffic to flow freely.

Here are the commands used to accomplish this:

sudo iptables -F # Flush all existing rules sudo iptables -P INPUT ACCEPT # Set default policy to ACCEPT for INPUT chain sudo iptables -P FORWARD ACCEPT # Set default policy to ACCEPT for FORWARD chain sudo iptables -P OUTPUT ACCEPT # Set default policy to ACCEPT for OUTPUT chain 

Please remember that these commands should be executed within the Vagrant VM. You can do this by accessing the VM using vagrant ssh and then running the commands.

By executing these iptables commands within the Vagrant VM, the firewall restrictions were temporarily disabled, enabling connectivity to the Nexus server on port 8081.

It's worth noting that the file you shared initially contained commands related to apt, which is incorrect as you are using CentOS.

Additionally, it would be ideal if you edit your question so that the files appear in the correct format. It's difficult to read your question as it is, which results in downvotes

If you have any further questions or concerns, feel free to ask!

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.