Pages

Thursday, January 26, 2017

Notepad++ to aws using pscp

PSCP can use saved putty session, thus using putty authentication.

PSCP command:
Pusing:
#scp will overwrite in default
pscp E:\OneDrive\Proj\node\node_code.js LAMP:/home/ubuntu/node/auth/




AWS session time out FIX

Assuming your Amazon EC2 instance is running Linux (and the very likely case that you are using SSH-2, not 1), the following should work pretty handily:
  1. Remote into your EC2 instance.
    ssh -i <YOUR_PRIVATE_KEY_FILE>.pem <INTERNET_ADDRESS_OF_YOUR_INSTANCE>
    
  2. Add a "client-alive" directive to the instance's SSH-server configuration file.
    echo 'ClientAliveInterval 60' | sudo tee --append /etc/ssh/sshd_config
    
  3. Restart or reload the SSH server, for it to recognize the configuration change.
    • The command for that on Ubuntu Linux would be..
      sudo service ssh restart
      
    • On any other Linux, though, the following is probably correct..
      sudo service sshd restart
      
  4. Disconnect.
    logout
    
The next time you SSH into that EC2 instance, those super-annoying frequent connection freezes/timeouts/drops should hopefully be gone.
This is also helps with Google Compute Engine instances, which come with similarly annoying default settings.
Warning: Do note that TCPKeepAlive settings (which also exist) are subtly, yet distinctly different from the ClientAlive settings that I propose above, and that changing TCPKeepAlive settings from the default may actually hurt your situation rather than help.

Thursday, August 25, 2016

grid oc4j

root.sh fails to start oc4j on node1

This question has been Answered.
User11343197-OracleNewbie
Hello all,

I am trying to install RAC 12.1.0 onto two nodes running OL 6.4 using nfs shares. I was following instructions at https://oracle-base.com/articles/11g/oracle-db-11gr2-rac-installation-on-linux-using-nfs for this. During grid installation running root.sh has failed as below

CRS-4123: Oracle High Availability Services has been started.
2016/06/03 09:57:24 CLSRSC-343: Successfully started Oracle Clusterware stack

2016/06/03 10:03:55 CLSRSC-1003: Failed to start resource OC4J

2016/06/03 10:03:57 CLSRSC-287: FirstNode configuration failed

Died at /u01/app/12.1.0/grid/crs/install/crsinstall.pm line 2398.
The command '/u01/app/12.1.0/grid/perl/bin/perl -I/u01/app/12.1.0/grid/perl/lib -I/u01/app/12.1.0/grid/crs/install /u01/app/12.1.0/grid/crs/install/rootcrs.pl ' execution failed

Looking at oc4j logs found throot cause as given below for which I added dms.jar and dmsapp.jar which fixed this issue. 
16/06/03 09:59:06 oracle.classloader.util.AnnotatedClassNotFoundException:

Missing class: oracle.dms.jmx.AggreMBean

Dependent class: com.evermind.server.Application
Loader: oc4j:10.1.3
Code-Source: /u01/app/12.1.0/grid/oc4j/j2ee/home/lib/oc4j-internal.jar
Configuration: <code-source> in META-INF/boot.xml in /u01/app/12.1.0/grid/oc4j/j2ee/home/oc4j.jar


Still srvctl fails to start oc4j without reporting any useful error message in logs.

Trace from srvctl is as given below. 

main 2016-06-03 12:53:40.737 UTC CRSNative.genericStartResource:307  Failed to start resource: Name: ora.oc4j, node: null, filter: null, msg CRS-2674: Start of 'ora.oc4j' on 'el01cn04' failed
CRS-2632: There are no more servers to try to place resource 'ora.oc4j' on that would satisfy its placement policy
main 2016-06-03 12:53:40.754 UTC StartAction.executeOC4J:2268  SoftwareModule exception PRCR-1079 : Failed to start resource ora.oc4j
CRS-2674: Start of 'ora.oc4j' on 'el01cn04' failed
CRS-2632: There are no more servers to try to place resource 'ora.oc4j' on that would satisfy its placement policy
OC4J could not be started
main 2016-06-03 12:53:40.795 UTC InterruptHandler.unRegisterInterruptHandler:76  UNRegistering shutdown hook.....
main 2016-06-03 12:53:40.795 UTC InterruptHandler.unRegisterInterruptHandler:81  UnRegistered shutdown hook.....
main 2016-06-03 12:53:40.795 UTC OPSCTLDriver.main:242  OPSCTL execute() failed. Unregistered OPSCTL driver's interrupt handler
main 2016-06-03 12:53:40.795 UTC OPSCTLDriver.main:247  exiting abnormally due to FrameworkException
PRCR-1079 : Failed to start resource ora.oc4j
CRS-2674: Start of 'ora.oc4j' on 'el01cn04' failed
CRS-2632: There are no more servers to try to place resource 'ora.oc4j' on that would satisfy its placement policy
main 2016-06-03 12:53:40.796 UTC OPSCTLDriver.main:249  PRCR-1079 : Failed to start resource ora.oc4j
CRS-2674: Start of 'ora.oc4j' on 'el01cn04' failed
CRS-2632: There are no more servers to try to place resource 'ora.oc4j' on that would satisfy its placement policy
oracle.ops.opsctl.StartAction.executeOC4J(StartAction.java:2271)
oracle.ops.opsctl.Action.execute(Action.java:436)
oracle.ops.opsctl.OPSCTLDriver.execute(OPSCTLDriver.java:502)
oracle.ops.opsctl.OPSCTLDriver.main(OPSCTLDriver.java:231)
main 2016-06-03 12:53:40.796 UTC SRVMContext.term:151  Performing SRVM Context Term. Term counter is 2


Found this in /u01/app/oracle/diag/crs/el01cn04/crs/trace/crsd.trc .


2016-06-03 13:37:08.292212 : AGFW:515852032: {1:63881:1910} Received the reply to the message: RESOURCE_START[ora.oc4j 1 1] ID 4098:8367 from the agent /u01/app/12.1.0/grid/bin/scriptagent_oracle
2016-06-03 13:37:08.292665 : AGFW:515852032: {1:63881:1910} Agfw Proxy Server sending the reply to PE for message:RESOURCE_START[ora.oc4j 1 1] ID 4098:8351
2016-06-03 13:37:08.292928 :   CRSPE:505345792: {1:63881:1910} Received reply to action [Start] message ID: 8351
2016-06-03 13:37:08.295089 :    CRSD:505345792: {1:63881:1910} {1:63881:1910} Created alert : (:CRSPE00163:) :  Start action timed out!
2016-06-03 13:37:08.295106 :   CRSPE:505345792: {1:63881:1910} Start action failed with error code: 3
2016-06-03 13:37:08.295944 :  CRSRPT:503244544: {1:63881:1910} Published to EVM CRS_ACTION_FAILURE for ora.oc4j


/etc/hosts has 127.0.0.1 localhost entry.


I have been stuck at this point for a while. Really appreciate if any one could help me resolve this.


Thanks
Shravan
User11343197-Oracle
Correct Answerby User11343197-Oracle on Jun 7, 2016 2:40 PM
After looking through decompiled java classes and the perl script it calls eventually I found that jps is not returning any pids because of which perl script reports OC4J failure after certain timeout. Though oracle user has rw permissions over /tmp/hsperfdata_oracle directory for some reasons pid files are not created when OC4J is launched and hence jps returns nothing. Deleting /tmp/hsperfdata_oracle directory fixed the issue.

-Shravan

Wednesday, August 10, 2016

Tutorial: Installing a LAMP Web Server on Amazon Linux

Tutorial: Installing a LAMP Web Server on Amazon Linux

The following procedures help you install the Apache web server with PHP and MySQL support on your Amazon Linux instance (sometimes called a LAMP web server or LAMP stack). You can use this server to host a static website or deploy a dynamic PHP application that reads and writes information to a database.
Prerequisites
This tutorial assumes that you have already launched an instance with a public DNS name that is reachable from the Internet. For more information, see Step 1: Launch an Instance. You must also have configured your security group to allow SSH (port 22), HTTP (port 80), and HTTPS (port 443) connections. For more information about these prerequisites, see Setting Up with Amazon EC2.
Important
If you are trying to set up a LAMP web server on an Ubuntu instance, this tutorial will not work for you. These procedures are intended for use with Amazon Linux. For more information about other distributions, see their specific documentation. For information about LAMP web servers on Ubuntu, see the Ubuntu community documentation ApacheMySQLPHP topic.
To install and start the LAMP web server on Amazon Linux
  1. To ensure that all of your software packages are up to date, perform a quick software update on your instance. This process may take a few minutes, but it is important to make sure you have the latest security updates and bug fixes.
    Note
    The -y option installs the updates without asking for confirmation. If you would like to examine the updates before installing, you can omit this option.
    [ec2-user ~]$ sudo yum update -y
  2. Now that your instance is current, you can install the Apache web server, MySQL, and PHP software packages. Use the yum install command to install multiple software packages and all related dependencies at the same time.
    [ec2-user ~]$ sudo yum install -y httpd24 php56 mysql55-server php56-mysqlnd
  3. Start the Apache web server.
    [ec2-user ~]$ sudo service httpd start
    Starting httpd:                                            [  OK  ]
  4. Use the chkconfig command to configure the Apache web server to start at each system boot.
    [ec2-user ~]$ sudo chkconfig httpd on
    Tip
    The chkconfig command does not provide any confirmation message when you successfully enable a service. You can verify that httpd is on by running the following command.
    [ec2-user ~]$ chkconfig --list httpd
    httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
    Here, httpd is on in runlevels 2, 3, 4, and 5 (which is what you want to see).
  5. Test your web server. In a web browser, enter the public DNS address (or the public IP address) of your instance; you should see the Apache test page. You can get the public DNS for your instance using the Amazon EC2 console (check the Public DNS column; if this column is hidden, choose Show/Hide and select Public DNS).
    Tip
    If you are unable to see the Apache test page, check that the security group you are using contains a rule to allow HTTP (port 80) traffic. For information about adding an HTTP rule to your security group, see Adding Rules to a Security Group.
    Important
    If you are not using Amazon Linux, you may also need to configure the firewall on your instance to allow these connections. For more information about how to configure the firewall, see the documentation for your specific distribution.
    Apache test page
    Note
    This test page appears only when there is no content in /var/www/html. When you add content to the document root, your content appears at the public DNS address of your instance instead of this test page.
Apache httpd serves files that are kept in a directory called the Apache document root. The Amazon Linux Apache document root is /var/www/html, which is owned by root by default.
[ec2-user ~]$ ls -l /var/www
total 16
drwxr-xr-x 2 root root 4096 Jul 12 01:00 cgi-bin
drwxr-xr-x 3 root root 4096 Aug  7 00:02 error
drwxr-xr-x 2 root root 4096 Jan  6  2012 html
drwxr-xr-x 3 root root 4096 Aug  7 00:02 icons
To allow ec2-user to manipulate files in this directory, you need to modify the ownership and permissions of the directory. There are many ways to accomplish this task; in this tutorial, you add a www group to your instance, and you give that group ownership of the /var/www directory and add write permissions for the group. Any members of that group will then be able to add, delete, and modify files for the web server.
To set file permissions
  1. Add the www group to your instance.
    [ec2-user ~]$ sudo groupadd www
  2. Add your user (in this case, ec2-user) to the www group.
    [ec2-user ~]$ sudo usermod -a -G www ec2-user
    Important
    You need to log out and log back in to pick up the new group. You can use the exit command, or close the terminal window.
  3. Log out and then log back in again, and verify your membership in the www group.
    1. Log out.
      [ec2-user ~]$ exit
    2. Reconnect to your instance, and then run the following command to verify your membership in the wwwgroup.
      [ec2-user ~]$ groups
      ec2-user wheel www
  4. Change the group ownership of /var/www and its contents to the www group.
    [ec2-user ~]$ sudo chown -R root:www /var/www
  5. Change the directory permissions of /var/www and its subdirectories to add group write permissions and to set the group ID on future subdirectories.
    [ec2-user ~]$ sudo chmod 2775 /var/www
    [ec2-user ~]$ find /var/www -type d -exec sudo chmod 2775 {} \;
  6. Recursively change the file permissions of /var/www and its subdirectories to add group write permissions.
    [ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} \;
Now ec2-user (and any future members of the www group) can add, delete, and edit files in the Apache document root. Now you are ready to add content, such as a static website or a PHP application.
(Optional) Secure your web server
A web server running the HTTP protocol provides no transport security for the data that it sends or receives. When you connect to an HTTP server using a web browser, the URLs that you enter, the content of web pages that you receive, and the contents (including passwords) of any HTML forms that you submit are all visible to eavesdroppers anywhere along the network pathway. The best practice for securing your web server is to install support for HTTPS (HTTP Secure), which protects your data with SSL/TLS encryption.
For information about enabling HTTPS on your server, see Tutorial: Configure Apache Web Server on Amazon Linux to use SSL/TLS.
To test your LAMP web server
If your server is installed and running, and your file permissions are set correctly, your ec2-user account should be able to create a simple PHP file in the /var/www/html directory that will be available from the Internet.
  1. Create a simple PHP file in the Apache document root.
    [ec2-user ~]$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
    Tip
    If you get a "Permission denied" error when trying to run this command, try logging out and logging back in again to pick up the proper group permissions that you configured in To set file permissions.
  2. In a web browser, enter the URL of the file you just created. This URL is the public DNS address of your instance followed by a forward slash and the file name. For example:
    http://my.public.dns.amazonaws.com/phpinfo.php
    You should see the PHP information page:
    Note
    If you do not see this page, verify that the /var/www/html/phpinfo.php file was created properly in the previous step. You can also verify that all of the required packages were installed with the following command (the package versions in the second column do not need to match this example output):
    [ec2-user ~]$ sudo yum list installed httpd24 php56 mysql55-server php56-mysqlnd
    Loaded plugins: priorities, update-motd, upgrade-helper
    959 packages excluded due to repository priority protections
    Installed Packages
    httpd24.x86_64                          2.4.16-1.62.amzn1                    @amzn-main
    mysql55-server.x86_64                   5.5.45-1.9.amzn1                     @amzn-main
    php56.x86_64                            5.6.13-1.118.amzn1                   @amzn-main
    php56-mysqlnd.x86_64                    5.6.13-1.118.amzn1                   @amzn-main
    If any of the required packages are not listed in your output, install them with the sudo yum installpackage command.
  3. Delete the phpinfo.php file. Although this can be useful information to you, it should not be broadcast to the Internet for security reasons.
    [ec2-user ~]$ rm /var/www/html/phpinfo.php
To secure the MySQL server
The default installation of the MySQL server has several features that are great for testing and development, but they should be disabled or removed for production servers. The mysql_secure_installation command walks you through the process of setting a root password and removing the insecure features from your installation. Even if you are not planning on using the MySQL server, performing this procedure is a good idea.
  1. Start the MySQL server.
    [ec2-user ~]$ sudo service mysqld start
    Initializing MySQL database:  Installing MySQL system tables...
    OK
    Filling help tables...
    OK
    
    To start mysqld at boot time you have to copy
    support-files/mysql.server to the right place for your system
    
    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
    ...
    
    Starting mysqld:                                           [  OK  ]
    
  2. Run mysql_secure_installation.
    [ec2-user ~]$ sudo mysql_secure_installation
    1. When prompted, enter a password for the root account.
      1. Enter the current root password. By default, the root account does not have a password set, so press Enter.
      2. Type Y to set a password, and enter a secure password twice. For more information about creating a secure password, see http://www.pctools.com/guides/password/. Make sure to store this password in a safe place.
        Note
        Setting a root password for MySQL is only the most basic measure for securing your database. When you build or install a database-driven application, you typically create a database service user for that application and avoid using the root account for anything but database administration.
    2. Type Y to remove the anonymous user accounts.
    3. Type Y to disable remote root login.
    4. Type Y to remove the test database.
    5. Type Y to reload the privilege tables and save your changes.
  3. (Optional) Stop the MySQL server if you do not plan to use it right away. You can restart the server when you need it again.
    [ec2-user ~]$ sudo service mysqld stop
    Stopping mysqld:                                           [  OK  ]
  4. (Optional) If you want the MySQL server to start at every boot, enter the following command.
    [ec2-user ~]$ sudo chkconfig mysqld on
You should now have a fully functional LAMP web server. If you add content to the Apache document root at/var/www/html, you should be able to view that content at the public DNS address for your instance.
(Optional) Install phpMyAdmin
phpMyAdmin is a web-based database management tool that you can use to view and edit the MySQL databases on your EC2 instance. Follow the steps below to install and configure phpMyAdmin on your Amazon Linux instance.
Important
We do not recommend using phpMyAdmin to access a LAMP server unless you have enabled SSL/TLS in Apache; otherwise, your database administrator password and other data will be transmitted insecurely across the Internet. For information about configuring a secure web server on an EC2 instance, seeTutorial: Configure Apache Web Server on Amazon Linux to use SSL/TLS.
  1. Enable the Extra Packages for Enterprise Linux (EPEL) repository from the Fedora project on your instance.
    [ec2-user ~]$ sudo yum-config-manager --enable epel
  2. Install the phpMyAdmin package.
    [ec2-user ~]$ sudo yum install -y phpMyAdmin
    Note
    Answer y to import the GPG key for the EPEL repository when prompted.
  3. Configure your phpMyAdmin installation to allow access from your local machine. By default, phpMyAdmin only allows access from the server that it is running on, which is not very useful because Amazon Linux does not include a web browser.
    1. Find your local IP address by visiting a service such as whatismyip.com.
    2. Edit the /etc/httpd/conf.d/phpMyAdmin.conf file and replace the server IP address (127.0.0.1) with your local IP address with the following command, replacing your_ip_address with the local IP address that you identified in the previous step.
      [ec2-user ~]$ sudo sed -i -e 's/127.0.0.1/your_ip_address/g' /etc/httpd/conf.d/phpMyAdmin.conf
  4. Restart the Apache web server to pick up the new configuration.
    [ec2-user ~]$ sudo service httpd restart
    Stopping httpd:                                            [  OK  ]
    Starting httpd:                                            [  OK  ]
  5. Restart the MySQL server to pick up the new configuration.
    [ec2-user ~]$ sudo service mysqld restart
    Stopping mysqld:                                           [  OK  ]
    Starting mysqld:                                           [  OK  ]
  6. In a web browser, enter the URL of your phpMyAdmin installation. This URL is the public DNS address of your instance followed by a forward slash and phpmyadmin. For example:
    http://my.public.dns.amazonaws.com/phpmyadmin
    You should see the phpMyAdmin login page:
    Note
    If you get a 403 Forbidden error, verify that you have set the correct IP address in the/etc/httpd/conf.d/phpMyAdmin.conf file. You can see what IP address the Apache server is actually getting your requests from by viewing the Apache access log with the following command:
    [ec2-user ~]$ sudo tail -n 1 /var/log/httpd/access_log | awk '{ print $1 }'
    205.251.233.48
    Repeat Step 3.b, replacing the incorrect address that you previously entered with the address returned here; for example:
    [ec2-user ~]$ sudo sed -i -e 's/previous_ip_address/205.251.233.48/g' /etc/httpd/conf.d/phpMyAdmin.conf
    After you've replaced the IP address, restart the httpd service with Step 4.
  7. Log into your phpMyAdmin installation with the root user name and the MySQL root password you created earlier. For more information about using phpMyAdmin, see the phpMyAdmin User Guide.

Related Topics

For more information on transferring files to your instance or installing a WordPress blog on your web server, see the following topics:
For more information about the commands and software used in this topic, see the following web pages:
If you are interested in registering a domain name for your web server, or transferring an existing domain name to this host, see Creating and Migrating Domains and Subdomains to Amazon Route 53 in the Amazon Route 53 Developer Guide.

Thursday, July 14, 2016

How to easily take down any Gym

This is my last try to help... this keeps getting downvoted, so I'm guessing some higher level players don't want others to know this (or they don't like their gyms being taken)
I'll make it really brief:
Watch the yellow screen flash!!! That's it. Forget everything else; ignore the animation, just watch for the flash, swipe to dodge, then quick attack. You will take no or very little damage.
The end. It's that easy.
Other notes:
  1. The first time an opponent appears, it attacks twice. So dodge twice first: flash dodge flash dodge, then attack.
  2. If the server glitches/lags, you can take damage
  3. You can safely get in one quick attack before the next flash - sometimes you can get two (flash dodge, attack, attack, flash dodge, attack, attack...repeat).
  4. You are vulnerable after using a special attack because you can't immediately dodge - don't use them unless you need to.
  5. You're up against the clock. If your 800CP is against a 1400CP, you can avoid taking damage, but you may not be able to whittle down their health in time.
  6. You can cut through Pokemon within +/- 200CP of your attacker like butter (without losing health)
  7. You get a lot of xp at no cost for taking down high level gyms, and it's fun! (although it does take a while)
  8. It is way more fun than spamming quick attack and it'll save you a TON of revive and health potions.
  9. Bonus: you can really annoy the 'super-gyms' when you take them down by yourself!
Edit: To clarify, the safest/easiest way is to only attack once after dodging. Then wait for another flash and repeat. Like this: flash - dodge - attack (one tap)..... flash - dodge - attack (one tap)..... repeat After a while, you'll figure out where you can sneak in two taps before dodging and that you can dodge right or left.
Edit2: FYI, this was removed by the mods after it hit 3700 in two hours and then was reinstated a few hours later. Enjoy.